单点登录,多个系统只需登录一次,不用多次登陆;后面的代码除了实现了单点登录,还实现了只能在一个客户端登陆,其他客户端登陆会挤掉上次登陆的客户端。
1.pom.xml
2.登录接口
登录的时候,检查登录权限,登录账户密码,用户状态等,
登陆成功以后,创建JWT令牌,redis中存入JWT备用
3.登出
4.免密登录验证(在网关服务里面调用改feign接口)
跨域问题:
关键是给每个域名下的cookie都加入登陆后生成的token。
此处还未真实操作过只有理论
1.在每个子系统中,提供一个addcookie的接口方法,在一个子系统登陆成功之后,调用其他子系统的addcookie接口,把token传过去,并返回到每个域名下的cookie中。
2.前端跨域访问,通过nignx转发,保证不同域名下的服务通过同一个域名请求访问。