SSO单点登录(用户只需登录一次,就可以访问互相信任的系统)
通过一次性登录,当用户在身认证器上登录以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理
单点登录的设计策略
步骤
1.用户输入用户名和密码点击登录按钮时,将数据交给jt-web服务器
2.jt-web服务器接收数据之后,将数据传给jt-sso进行数据校验
3.如果用户名和密码正确,则动态的生成UUID,将user数据转化为JSON,一起存在redis中,注意数据有效期(7天)
4.无论登录是否成功,都需要返回业务数据信息.UUID
5.将UUID包存到客户端的Cookie中并且设定超时时间,如果用户登录成功后,再次登录时,需要获取cookie信息,进行校验即可
单点登录中的Cookie问题:
Cookie不能跨域,不同域的session是不共享的
(解决方法:在设置Cookie时,只能设置顶域(子系统一:app1.a.com 子系统二:app2.a.com 顶域:a.com )和自己的域(我们不能在自己的系统设置中给百度的域设置Cookie))