单点登录总结
单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,用户只需在登录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身份。
经过查阅文章其实,实现起来很简单:
所谓单点登录,也可以理解为共享一个登录界面。就是说只要在这个登录界面保存用户信息到Cookie,其他子站访问这个跳转到登录,如果Cookie已经存在就可以授权子站登录成功。
为了登录安全在用户表UserInfo中增加 Token字段《用户名+IP地址+随机值》。
1.开始访问A站跳转到总站公共登录页面。
2.登录成功之后,写入Cookie登录信息到总站,设置Cookie.Domain = "总站域名.com",设置用户表Token票据字段,回到A站并URL传Token值。
3.A站获取Token票据,验证Token IP是否正确,是否在数据中存在。如果匹配就登录成功,设置Session 登录信息。并重置Token 字段(让Url失效)
4.用户访问B站,跳转之公共登录页面。
5.检查Cookie 是否存在,如果存在直接返回B站并URL传Token值。B站验证Token 验证登录。
6.注销:B站开始注销,注销B站Session,并请求公共登录页面清除Cookie。这样 就注销了。 如果想注销 其他站Session,就再给其他每个站 发送请求,注销。