• .NET实现单点登录研究过程总结--【SSO】



    一、单点登录实现结果:

    权限系统登录后,新生系统通过拦截器,获取本地的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.跟大神在一起研究能学到非常多东西。



  • 相关阅读:
    2017-2018-2 20179223《网络攻防技术》第七周作业
    2017-2018-2 20179223《网络攻防技术》第六周作业
    2017-2018-2 20179223《网络攻防技术》第五周作业
    2017-2018-2 20179223《密码与安全新技术》第二周作业
    2017-2018-2 20179223《网络攻防技术》第四周作业
    2017-2018-2 20179223《密码与安全新技术》第一周作业
    2017-2018-2 20179223《网络攻防技术》第三周作业
    2018-2018-2 《网络攻防》第二周作业
    51nod1270 数组的最大代价(简单dp)
    51nod1269 B君的圆锥
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5341617.html
Copyright © 2020-2023  润新知