一、单点登录实现结果:

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

.NET实现单点登录研究过程总结--【SSO】的更多相关文章

  1. 单点登录实现原理(SSO)

    简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些知名的大型网站,如:淘 ...

  2. 单点登录原理及实现sso

    WEB的登录那些事 说道账户登录和注册,其实我们每天都在亲身感受着,像微博.知乎还有简书等等.我们总是需要定期的去重新登录一下,对于这种认证机制,我们都能说出来两个名词,Cookie.Session. ...

  3. 006. SSO 单点登录(同域SSO/跨域SSO)

    SSO 单点登录:一次登录,处处登录. 只需在一个登录认证服务下进行登录后,就可访问所有相互信任的应用 同域 SSO 1. session-cookie机制:服务端通过cookie认证客户端. 用户第 ...

  4. sso单点登录研究

    iframe跨域通信的通用解决方案http://www.alloyteam.com/2012/08/lightweight-solution-for-an-iframe-cross-domain-co ...

  5. 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型

    什么是单点登录(SSO) 单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录. 单点登录(Single Sign On),简称为 ...

  6. 漫谈单点登录(SSO)(淘宝天猫)

    1. 摘要 ( 注意:请仔细看下摘要,留心此文是否是您的菜,若浪费宝贵时间,深感歉意!!!) SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是,从简单到复杂,各式各样应有尽有!开 ...

  7. SSO(单点登录)

    自己动手写SSO(单点登录) 标签: sso 登录 | 发表时间:2014-03-02 15:01 | 作者: 分享到: 出处:http://www.iteye.com SSO在我们的应用中非常常见, ...

  8. asp.net单点登录(SSO)解决方案

    前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详,但实际应用很少,难得最近轻闲,于是决定通过本文来详细描述一个SSO解决方案,希望对大家有所帮助.SSO的解决方案很多,但搜索结果令人大失所 ...

  9. 基于.Net的单点登录(SSO)解决方案

    前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详,但实际应用很少,难得最近轻闲,于是决定通过本文来详细描述一个SSO解决方案,希望对大家有所帮助.SSO的解决方案很多,但搜索结果令人大失所 ...

随机推荐

  1. apache开源项目--Mahout

    Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可 ...

  2. VC++6.0环境下调试c语言代码的方法和步骤_附图

    1.C语言程序四步开发步骤 (1)编辑.可以用任何一种编辑软件将在纸上编写好的C语言程序输入计算机,并将C语言源程序文件*.c以纯文本文件形式保存在计算机的磁盘上(不能设置字体.字号等). (2)编译 ...

  3. 【原创】batch-GD, SGD, Mini-batch-GD, Stochastic GD, Online-GD -- 大数据背景下的梯度训练算法

    机器学习中梯度下降(Gradient Descent, GD)算法只需要计算损失函数的一阶导数,计算代价小,非常适合训练数据非常大的应用. 梯度下降法的物理意义很好理解,就是沿着当前点的梯度方向进行线 ...

  4. HDU 1163 Eddy's digital Roots

    Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  5. 查询Table name, Column name, 拼接执行sql文本, 游标, 存储过程, 临时表

    018_Proc_UpdateTranslations.sql: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO if (exists (select ...

  6. FZU 2214 Knapsack dp (转化背包)

    就是一个背包裸题,由于物品的重量太大,开不了这么大的数组 所以转化一下,由于价值总和不大于5000,所以把价值看作重量,重量看作价值,那么就是同样的价值下,求一个最轻的重量 #include<c ...

  7. 命令rm

    mv -r 递归删除文件夹内所有东西mv -i 交互式删除mv -f 强制删除,没有警告提示

  8. python 输出字符串如果遇到字典

    >>> d = {'a':1} >>> print '%s' % 1,d 1 {'a': 1} >>> print '%s %s' % 1,d T ...

  9. 一步一步学数据结构之n--n(图遍历--深度优先遍历--非递归实现)

    前面已经说了图的深度优先遍历算法,是用递归实现的,而在这里就讲一下用非递归实现,需要借助栈: 算法思想:        1. 栈初始化        2. 输出起始顶点,起始顶点改为“已访问”标志,将 ...

  10. Java远程方法调用(RMI)

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...