.NET技术(7)
编程语言(23)
软件设计(1)
Web前端(11)
企业信息化(0)
手机开发(7)
软件工程(1)
数据库技术(6)
操作系统(6)
其他分类(11)
所有随笔(1622)
所有评论(588)
.NET新手区(0)
ASP.NET(2)
C#(1)
.NET Core(2)
WinForm(0)
Silverlight(0)
WCF(0)
CLR(0)
WPF(0)
XNA(0)
Visual Studio(0)
ASP.NET MVC(0)
控件开发(1)
Entity Framework(0)
NHibernate(0)
WinRT/Metro(0)
Java(4)
C++(0)
PHP(1)
Delphi(0)
Python(2)
Ruby(0)
C语言(0)
Erlang(0)
Go(1)
Swift(0)
Scala(0)
R语言(0)
Verilog(0)
其它语言(0)
架构设计(0)
面向对象(0)
设计模式(0)
领域驱动设计(0)
Html/Css(1)
JavaScript(2)
jQuery(1)
HTML5(1)
SharePoint(0)
GIS技术(0)
SAP(0)
Oracle ERP(0)
Dynamics CRM(0)
K2 BPM(0)
信息安全(0)
企业信息化其他(0)
Android开发(1)
iOS开发(0)
Windows Phone(0)
Windows Mobile(0)
其他手机开发(0)
敏捷开发(0)
项目与团队管理(1)
软件工程其他(0)
SQL Server(1)
Oracle(2)
MySQL(2)
NoSQL(0)
大数据(1)
其它数据库(0)
Windows(1)
Windows Server(0)
Linux(0)
OS X(0)
嵌入式(0)
非技术区(0)
软件测试(0)
代码与软件发布(0)
计算机图形学(1)
Google开发(0)
游戏开发(1)
程序人生(0)
求职面试(0)
读书区(0)
转载区(0)
Windows CE(0)
翻译区(0)
开源研究(0)
Flex(0)
云计算(0)
算法与数据结构(2)
其他技术区(0)
1
2
Next >
评论列表
#1楼
2016-11-29 16:54
送给未来的自己
明白 感谢分享
支持(0)
反对(0)
http://pic.cnblogs.com/face/649611/20150922095609.png
#2楼
2016-11-29 17:43
小小沧海
好文收藏
支持(0)
反对(0)
http://pic.cnblogs.com/face/746158/20150417145005.png
#3楼
2016-11-29 22:18
梁逸晨
楼主,我是冲着你的头像来的,几月?
支持(0)
反对(0)
http://pic.cnblogs.com/face/20738/20161201171640.png
#4楼
[
楼主
]
2016-11-29 22:50
凌承一
@
梁逸晨
九月
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#5楼
[
楼主
]
2016-11-29 22:53
凌承一
@
小小沧海
谢谢支持
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#6楼
[
楼主
]
2016-11-29 22:53
凌承一
@
送给未来的自己
谢谢支持
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#7楼
[
楼主
]
2016-11-29 23:01
凌承一
@
梁逸晨
登山行摄领队+程序员大神,膜拜
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#8楼
2016-11-30 02:27
梁逸晨
@
凌承一
引用
@
梁逸晨
九月
下次再有空来找我,难得有it人士会在高原说话
支持(0)
反对(0)
http://pic.cnblogs.com/face/20738/20161201171640.png
#9楼
[
楼主
]
2016-11-30 09:46
凌承一
@
梁逸晨
头像是14年9月拍的,今年9月我又去了一次,可惜了,等以后的机会吧!
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#10楼
2016-11-30 11:17
但用此心
登录系统2 后 sso 认证中心 如何判断 用户已经登录的
支持(0)
反对(0)
http://pic.cnblogs.com/face/u19761.gif
#11楼
[
楼主
]
2016-11-30 11:21
凌承一
@
但用此心
登录系统1时,已经有一次跳转到sso认证中心,那个时候还输入了用户名与密码信息,sso认证中心验证用户名密码正确后,将用户与sso认证中心的会话标记为“已登录”了,之后再跳转到sso认证中心,会话当然还是“已登录”状态
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#12楼
2016-11-30 11:23
程序人生0407
很详细
支持(0)
反对(0)
http://pic.cnblogs.com/face/731200/20161121101030.png
#13楼
[
楼主
]
2016-11-30 11:25
凌承一
@
程序人生0407
谢谢支持
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#14楼
2016-11-30 11:27
但用此心
@
凌承一
用户直接访问系统2 的资源的时候,在客户端是未登录的状态,不带sessionid 和其他的标示,sso 认证中心如何判断是已经登录的 , 登录系统1 的时候 sso 认证后,是不是还有1步sso 跳转到系统1 的过程,客户端302 到系统1 ,系统1 返回应答,命令客户端写系统1 的sessionid 的cookie?
支持(0)
反对(0)
http://pic.cnblogs.com/face/u19761.gif
#15楼
2016-11-30 11:43
但用此心
@
凌承一
想清楚了 ,访问系统2的时候跳转到 sso 认证,客户端带上sso 认证的sessionid,根据这个id 可以定位用户
写的很详细 谢谢
支持(0)
反对(0)
http://pic.cnblogs.com/face/u19761.gif
#16楼
[
楼主
]
2016-11-30 11:44
凌承一
@
但用此心
sso认证中心只是判断用户与它之间的会话有没有标记为“已登录”,用户与系统1、系统2之间的会话状态,sso认证中心是不管的。
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#17楼
2016-11-30 11:47
Sam Xiao
前几天不是有一个哥们也写了 可跨域的单点登录(SSO)实现方案【附.net代码】 的博客吗?我还以为是同一个。
支持(0)
反对(0)
http://pic.cnblogs.com/face/48022/20150116085345.png
#18楼
[
楼主
]
2016-11-30 11:51
凌承一
@
Sam Xiao
哈哈,我只是简单介绍了多系统跨域登录的解决方案,源码我有,并不复杂,不过还是自己实现一遍更好
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#19楼
2016-11-30 13:35
鬼谷君
l不错,写的蛮详细
支持(0)
反对(0)
http://pic.cnblogs.com/face/1071981/20161130110631.png
#20楼
2016-11-30 14:06
最爱晴天
关于单点撤销,按楼主的方案是不是需要预先知道其他的子站点,然后一个站点退出了, 就循环去调用其他站点提供的清除回话的方法?
支持(0)
反对(0)
http://pic.cnblogs.com/face/596290/20150813112422.png
#21楼
[
楼主
]
2016-11-30 14:08
凌承一
@
最爱晴天
不用,单点登录过程中有一步是子站点向sso认证中心注册,注销的时候,sso认证中心取出这些注册系统地址,依次发送注销请求就行了
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#22楼
2016-11-30 14:58
莹仔Ken
你这个方法如果我用不同公司的浏览器就不行了?
支持(0)
反对(0)
#23楼
[
楼主
]
2016-11-30 15:03
凌承一
@
莹仔Ken
和浏览器没有关系,浏览器都实现了cookie
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#24楼
2016-11-30 16:50
破剑冰
很详细, 终于搞明白了.
支持(0)
反对(0)
#25楼
2016-12-01 08:32
gnib
mark
支持(0)
反对(0)
http://pic.cnblogs.com/face/612774/20150824213110.png
#26楼
2016-12-01 08:40
刘标才
有几点不明白:
1、为什么是系统1输入用户名密码,而不在sso中直接输入呢,这样密码更安全
2、为什么拿到token后还要去sso验证是否正确呢,双方使用事先设置好的加密Key就可以保证安全了,没有必要多这一步
3、同时注销真的不知道怎么实现,难道一次可以跳转N个地址吗
其实楼主你去看下oauth就知道了,步骤基本相同
支持(2)
反对(0)
comment_3569423_avatar
http://pic.cnblogs.com/face/u36499.jpg?id=30171922
#27楼
2016-12-01 10:08
活在當下
如果被别人拦截到令牌,是不是就可以授权访问了?
支持(0)
反对(0)
http://pic.cnblogs.com/face/u39262.jpg?id=16144336
#28楼
[
楼主
]
2016-12-01 10:12
凌承一
@
刘标才
系统1没有输入用户名密码,只有sso认证中心可以输入用户名密码;
sso认证中心给了子系统token,但子系统使用token前必须去sso认证中心校验token有效性,一是因为sso认证中心要登记使用了此token的子系统,二是校验的过程中sso认证中心可以对子系统的合法性校验,即使token被截获,也不会有安全问题;
注销不是用跳转来实现的,sso认证中心向所有登记过的系统发送带有“logout”参数的注销请求
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#29楼
[
楼主
]
2016-12-01 10:13
凌承一
@
活在當下
看我28楼的回复
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#30楼
[
楼主
]
2016-12-01 10:14
凌承一
@
刘标才
oauth和sso本质都是认证中心向子系统授权,原理一样,过程自然差不多
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#31楼
2016-12-01 10:21
活在當下
@
凌承一
“系统1拿到令牌,去sso认证中心校验令牌是否有效”,sso中心是怎么确认令牌有效的呢?
支持(0)
反对(0)
http://pic.cnblogs.com/face/u39262.jpg?id=16144336
#32楼
[
楼主
]
2016-12-01 10:24
凌承一
@
活在當下
sso认证中心在用户输入正确用户名密码后创建授权令牌,存储在key-value数据库如redis中,令牌为key,令牌有效的意思就是数据库有这个key,并且还在有效期内,你知道,key-value数据库的key可以设置有效期的
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#33楼
2016-12-01 10:46
活在當下
@
凌承一
这个又回到我之前的问题了,如果别人截获令牌,怎么知道是不是正常的请求令牌还是被截获的,因为你是说只要判断这个键值是否在数据库中吧
支持(0)
反对(0)
http://pic.cnblogs.com/face/u39262.jpg?id=16144336
#34楼
[
楼主
]
2016-12-01 10:51
凌承一
@
活在當下
理论上,不管谁拿到令牌,只要这个令牌有效,就是可以用的,但你拿着这个令牌去sso认证中心校验并注册的时候,sso认证中心是有一份系统白名单的,名单上的系统拿着令牌才能注册成功,其他系统sso认证中心都认为是非法的
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#35楼
2016-12-01 10:59
dudu
在.NET平台上有一个单点登录认证中心的开源实现(支持.NET Core)
https://identityserver.io/
支持(0)
反对(0)
http://pic.cnblogs.com/face/1/20150530204900.png
#36楼
[
楼主
]
2016-12-01 11:00
凌承一
@
活在當下
可能你在电视上看到了很多,拿着别人令牌开门、放人等等,因为那些人只认令牌不认人,系统白名单的作用就是认人,这样令牌被盗也没关系
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#37楼
[
楼主
]
2016-12-01 11:01
凌承一
@
dudu
谢谢支持,开源sso一直不缺的
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#38楼
2016-12-01 11:05
AlanCoder
这里 如果是跨域 怎么知道之前已经登录过了,能具体点 ?
支持(0)
反对(0)
http://pic.cnblogs.com/face/154634/20130121214245.png
#39楼
[
楼主
]
2016-12-01 11:08
凌承一
@
AlanCoder
我相信你再仔细看一会就明白了,图加上文字说明以及开始介绍的会话、登录机制
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#40楼
2016-12-01 11:11
KarasCanvas
jwt+oauth
支持(0)
反对(0)
http://pic.cnblogs.com/face/206235/20160225211451.png
#41楼
2016-12-01 11:27
灵雨飘零
mark
支持(0)
反对(0)
http://pic.cnblogs.com/face/u40764.jpg?id=23091233
#42楼
[
楼主
]
2016-12-01 11:28
凌承一
@
KarasCanvas
这就涉及到sso-client与sso-server具体通信过程和安全问题了,如果有自己独立的ca系统,jwt或者https是非常好的选择
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#43楼
2016-12-01 11:47
梦亦晓
site1,site2,sso认证中心的session过期时间能不能保持一致?
支持(0)
反对(0)
http://pic.cnblogs.com/face/559600/20131127170112.png
#44楼
[
楼主
]
2016-12-01 11:53
凌承一
@
梦亦晓
原来你就是有人提到过的整那篇【可跨域的单点登录(sso)方案附.net代码】的淫
子系统的会话持续时间是依赖sso认证中心的会话持续时间的,因为监听器的存在。要让子系统与sso认证中心保持一致的会话持续时间,可以这么做
子系统向sso认证中心校验令牌时,sso认证中心返回这个令牌对应全局会话的剩余时间,子系统将这个时间设为局部会话的持续时间
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#45楼
2016-12-01 12:00
梦亦晓
@
凌承一
session的过期时间不应该设置为滑动过期时间吗?如果登录成功后sso的过期时间设置为1分钟,site1的过期时间设置为1分钟,浏览器和site1持续交互,会导致site1会话session一直有效,而sso的会话session失效
支持(0)
反对(0)
http://pic.cnblogs.com/face/559600/20131127170112.png
#46楼
[
楼主
]
2016-12-01 12:04
凌承一
@
梦亦晓
当然不会了,sso会话一旦失效,sso认证中心的会话监听器就会向所有注册子系统发出注销请求,子系统的会话也会失效,看下【三、单点登录】介绍的局部会话与全局会话的关系
实际上,子系统的会话持续时间一定不会超过sso认证中心的会话持续时间
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#47楼
2016-12-01 12:31
梦亦晓
@
凌承一
如果因为用户一直在操作site1而导致site1的会话session一直有效,而sso的会话session失效。怎么能强制注销site1的session会话呢?
支持(0)
反对(0)
http://pic.cnblogs.com/face/559600/20131127170112.png
#48楼
[
楼主
]
2016-12-01 12:33
凌承一
@
梦亦晓
sso认证中心的会话监听器,参考文章的最后一节以及单点登录的注销过程
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
#49楼
2016-12-01 12:36
梦亦晓
我知道你是用http分发的方法注销分站的session。
而我是说不能注销site1的会话,你总不能在用户和site1交互的过程中因为没有更新sso会话的过期时间而强制注销site1的会话吧。
支持(0)
反对(0)
http://pic.cnblogs.com/face/559600/20131127170112.png
#50楼
[
楼主
]
3569743
2016/12/1 12:44:19
2016-12-01 12:44
凌承一
@
梦亦晓
授权的源头都失效了,site1怎么还能允许用户继续操作?
你是想随着用户持续访问分站,而自动延长sso认证中心的会话时间是吧,那可以为分站的会话加一个监听器,监听时间变化,然后向sso认证中心发送加长会话持续时间的请求
这样可以达到你的目的,但非常不合理,授权过程一切以sso认证中心为主,分站怎么能要求认证中心去做改变!
如果不想用户访问过程突然中断,可以加长sso认证中心的会话持续时间
支持(0)
反对(0)
http://pic.cnblogs.com/face/797930/20160128170544.png
1
2
Next >