.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.跟大神在一起研究能学到非常多东西。
.NET实现单点登录研究过程总结--【SSO】的更多相关文章
- 单点登录实现原理(SSO)
简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些知名的大型网站,如:淘 ...
- 单点登录原理及实现sso
WEB的登录那些事 说道账户登录和注册,其实我们每天都在亲身感受着,像微博.知乎还有简书等等.我们总是需要定期的去重新登录一下,对于这种认证机制,我们都能说出来两个名词,Cookie.Session. ...
- 006. SSO 单点登录(同域SSO/跨域SSO)
SSO 单点登录:一次登录,处处登录. 只需在一个登录认证服务下进行登录后,就可访问所有相互信任的应用 同域 SSO 1. session-cookie机制:服务端通过cookie认证客户端. 用户第 ...
- sso单点登录研究
iframe跨域通信的通用解决方案http://www.alloyteam.com/2012/08/lightweight-solution-for-an-iframe-cross-domain-co ...
- 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型
什么是单点登录(SSO) 单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录. 单点登录(Single Sign On),简称为 ...
- 漫谈单点登录(SSO)(淘宝天猫)
1. 摘要 ( 注意:请仔细看下摘要,留心此文是否是您的菜,若浪费宝贵时间,深感歉意!!!) SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是,从简单到复杂,各式各样应有尽有!开 ...
- SSO(单点登录)
自己动手写SSO(单点登录) 标签: sso 登录 | 发表时间:2014-03-02 15:01 | 作者: 分享到: 出处:http://www.iteye.com SSO在我们的应用中非常常见, ...
- asp.net单点登录(SSO)解决方案
前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详,但实际应用很少,难得最近轻闲,于是决定通过本文来详细描述一个SSO解决方案,希望对大家有所帮助.SSO的解决方案很多,但搜索结果令人大失所 ...
- 基于.Net的单点登录(SSO)解决方案
前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详,但实际应用很少,难得最近轻闲,于是决定通过本文来详细描述一个SSO解决方案,希望对大家有所帮助.SSO的解决方案很多,但搜索结果令人大失所 ...
随机推荐
- C#中的预处理器指令
C#中有许多名为“预处理器指令”的命令.这些命令从来不会转化为可执行代码中的命令,但会影响编译过程的各个方面. 例如,使用预处理器指令可以禁止编译器编译代码的某一部分.如果计划发布两个版本的代码,即基 ...
- TreeList 实现多表头
1. 先上图: 2. 再上代码: 原码
- LeetCode Same Tree (判断相同树)
题意:如题 思路:递归解决,同判断对称树的原理差不多.先保证当前两个结点是相等的,再递归保证两左结点是相等的,再递归保证右结点是相等的. /** * Definition for a binary t ...
- Java [leetcode 25]Reverse Nodes in k-Group
题目描述: Given a linked list, reverse the nodes of a linked list k at a time and return its modified li ...
- 导出Excel帮助类
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.D ...
- NOIP2013 货车运输
3.货车运输 (truck.cpp/c/pas) [问题描述] A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货 ...
- android学习之activity
Activity 的生命周期 和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理.与 MIDlet 不同的是安装在 android 中的所有的 ...
- MATLAB将批量的图片保存为mat文件
clc; clear all; num = 10; for i = 1 : num IM = imread(sprintf('E:\\TEST\\PtzTEST2015-8-9\\image1280x ...
- leetcode@ [174] Dungeon Game (Dynamic Programming)
https://leetcode.com/problems/dungeon-game/ The demons had captured the princess (P) and imprisoned ...
- 【noip模拟】考试总结
今天睡了14个小时啊 把一星期的觉都补回来了 要不是被叫醒了 我肯定还在睡觉- - 其实现在还想睡... 集训真是伤身啊 感觉再睡就要睡成sb了 鉴于昨天被完虐(真·完虐 怒垫底) 来写篇总结 得分: ...