单点服务器 http://sso.5ycode.com
单点服务器提供的功能
统一登录界面
![](http://www.5ycode.com/upload//20140918/14110168246074.png)
当访问某个系统的url时,如果判断没有登录,跳转到该登录页面,在此获取了用户访问的url
统一的登录方法(post方式)
http://sso.5ycodecom/login.action
userName:当前登录的用户名
pwd:登录密码
url: 访问系统时的url,可以根据url判断该系统是哪个业务系统
说明:从统一的登录页面点击登录后的操作
作用:
1) 验证登录名和密码是否正确
2) 该用户是否有访问该系统的权限
3) 记录登录日志
4) 获取单点票据ticket
5) 根据url获取sysId(系统ID)将sysId,userName,ticket保存到单点域cookie中
统一的cookie读取
http://sso.5ycode.com/readCookie.action
返回jsonp,支持跨域访问,将获取到的通行证ticket拿到
说明:访问该路径时,可以从www.sso.5ycode.com的cookie中获取sysId,userName和ticket
作用:获取登录用户名和票据
实现方式:访问任何一个url时拦截,进入到一个固定的页面,该页面ajax访问统一cookie读取方法,拿到返回的ticket和userName后通过统一的验证入口验证票据的有效性
有效:在访问的url后追加上参数userName和ticket,跳转到对应的页面
统一的验证入口(登录过后,其他的系统再访问时)
http://sso.5ycode.com/checkLogin.action&userName=ducc?ticket=xxx
作用:
1) 根据用户名和票据去验证访问权限
2) 记录登录日志
注:验证通过后,走自己系统内容的登录方法
统一的注销方法
http://sso.sso.5ycode.com/logout.action&userName=ducc
说明:注销只是将当前request的cookie给清空,拿到cookie中的票据将单点中的对应的票据也清空
作用:
1) 清空当前访问的cookie和票据
2) 获取cookie中的票据ticket,根据ticket删除/作废单点对应的票据
操作流程图
![单点跨域问题解决方案 单点跨域问题解决方案](https://i-blog.csdnimg.cn/blog_migrate/11a29d992fa160f05fb8e399e5e5de9a.gif)