【SSO】--实现单点登录研究过程总结
2015-07-17 10:57
375 查看
一、单点登录实现结果:
权限系统登录后,新生系统通过拦截器,获取本地的cookie可以访问该系统;权限系统用户注销后,销毁本地cookie,访问新生链接,自动跳转到登录首页。二、主要遇到的问题:
实现本地cookie的跨域共享三、解决方案:
1. 在url地址后面加一个票据ticket=guid,然后把ticket存入到缓存中,拦截器对权限进行拦截的时候,,获取ticket后面的参数,跟本地的缓存做对比,判断是否可以登录。失败原因:普通的类里面无法获取浏览器的地址和参数。
2. 把用户信息存入到本地cookie, memacache作为第三方缓存,权限验证的时候进行本地cookie和memacache的用户登录信息验证。
失败原因:存入memacache的cookie无法取出。
3. 通过IO流,把用户信息存入到本地,让子系统登录时拦截器拦截的时候获取IO流里面的用户验证信息。
失败原因:子系统无法监测到存有用户信息的txt文件。
4. 存入cookie,通过权限filter的 Var memberValidation = filterContext.HttpContext.Request.Cookies.Get("selfUserInfo");获取本地cookie,能够实现本地cookie信息的验证。
V1.0
V2.0
四、感受:
1. 学会站在巨人的肩膀上。一开始想要全部手写CAS,不过偶然间发现MVC自带登录生成票据的方法,通过底层学习了这些方法,不怕不知道,就怕不知道
2. 黑猫白猫抓住老鼠就是好猫。
单点登录要的结果就是只需登录一个系统,可以访问其他的被信任的系统应用;退出系统,其他应用也随之退出。
不论Java还是.NET,实现这个效果就很好,不一定跟Java的CAS登录完全一样。
3. 结对编程效率高。
不同的同学,不一样的思路,结对编程比较不枯燥,目标一致,效率比较高。
4.跟大神在一起研究能学到很多东西。
相关文章推荐
- 将文件从一台linux机器拷贝到多台的方法
- JSON与XML优缺点对比分析
- OC关键字@Category@property@synthesize
- ubuntu14.04下安装samba共享服务器
- 敏捷开发之Scrum扫盲篇
- UIwebView 之初体验。。。。。
- ORACLE SELECT基本查询
- 理解A*寻路算法具体过程
- Linux命令学习之路---关机(shutdown)命令
- 【Android】检测是否处于Wifi环境,利用WebView实现浏览器app
- 将文件从一台linux机器拷贝到多台的方法
- java实现基于SMTP发送邮件的方法
- iOS 将Log日志输出到文件中保存
- jquery 面向对象写法
- HDU 3746 Cyclic Nacklace(KMP最小覆盖子串)
- websocke前世今生
- gtest简短,简单易用
- ******IT公司面试题汇总+优秀技术博客汇总
- 深入理解计算机系统读书笔记之第一章:漫游
- intel dpdk IPv4 Fragmentation Sample Application 测试