进入购物车之前肯定是要登录的
我使用的是jwt【 JSON Web Token】完成单点登录
jwt reference link
认证中心要做的事情
- 颁发证书
- 验证证书的真伪
这是认证中心的架构,并非是sso的架构
在web-util里面加入拦截器。所有请求web的请求都会被拦截
search和goods(即item)不走拦截器
在通过loginRequired标识要走拦截器的方法
使用jwt技术实现单点登录,并完全隔离数据库【由访问db,连接数据库的connection变成了加密解密的算法即jar包的调用,对加密算法要求极高】将userId放在jwt里面,然后解token,它优于第二代的sso是不需要数据库了
签名部分是防伪/校验真伪的
只有当前用户使用当前浏览器在固定时间内请求服务器的时候才有效
《a http=“http://passport.gmall.com:8085/index?ReturnUrl=http://search.gmall.com:8083/index”>你好,请登录
将认证中心写成controller可以使其作为独立于系统的功能模块,这样别的系统直接通过http请求调用认证controller模块就能实现真正的SSO登录了。如果将其放在service里面,则该认证中心只能是该系统通过spring注入的方式调用。
登录成功时写token,不需要每次都去写token?既有结论,又有问题
提前将老用户放入rediss,而不是放在数据库,这样双11就能提升并发性
service-uti只提供jar包和额外spring整合的对象,配置文件需要在各个模块都需要引入
用户服务可以调用缓存
User:userName:password
User:memberId:info