当一个子系统要登录SSO系统时,它要把用户导航到SSO系统去登录,而它自己并不能处理用户登录(它自己不能拿到用户密码)。如果它自己给用户一个登录窗,我们可以说它是“打着单点登录名义的钓鱼网站”。许多人所谓的“让用户只需登录一次,就能在访问这些模块时都是已登录的状态”的想法,都是无厘头的幻想,缺乏对单点登录的基本规则的了解。
解决方案 »
- Panel 容器都有那些应用
- 谁能详细说明一下用接口或抽像类有哪些好处或方便的吗?
- 如何在aspx页面用javascript验证添加页面文本框的输入信息,并且能触发到后台代码的添加事件。
- 正则替换问题,100分,在线等
- █希望大家关注:█ 给大家一个淘宝网的网址看看你会发现它的源代码全是 <div> <ul> <li> 和 样式组成的,如此之多的数据,显示的十分之快,
- asp.net和asp的session的值不通用的,那怎样实现asp.net与asp的会话?请大虾指教
- asp.net开发时配置IIS服务器扩展老提示如下错误:
- 急~~~~请问如何将MAPGIS转化为MAPINTO图形格式???
- 关于地址栏传送变量问题
- 请教问题?
- MVC3里面lambada表达式的意思求解
- vs2013发布程序为什么不生成dll文件
我理解的是父系统为A,它有B,C,D三个挂靠系统(你的说法),当BCD被访问时,都要跳转到A去验证,在A验证完毕后,返回一个指令来指示BCD是否能登录系统
打开浏览器访问ABC之一时,都需要输用户密码登录,
而如果已访问A或C,再访问B时就不用用户再次输用户密码登录
根据不同的系统有不同的设计。令牌就是一个编码而已,例如 sfdqeorqlldfasldfals 这样的编码。举个简单的例子,比如说子站将用户界面导航到SSO系统
"http://www.abc.com/login?site=7762838&from="+ UrlEncode("http://www.def.com/site1/mmxx.aspx?id=123");
这时候SSO会判断用户是否在这个login页面已经登录。如果没有登录,就会显示7762838的内容并询问用户是否登录。如果登录了,SSO会把用户界面重新导航回
http://www.def.com/site1/mmxx.aspx?id=123&sso=sfdqeorqlldfasldfals
这就是简单的传递。
你可以想一下,当导航用户界面到 login 这一个页面时,它“什么登录信息都知道”,它自己作逻辑判断是否给根据A或者C的授权而直接给B授权。只要它重新把用户界面导航回 B 网站的页面时,它所附加的新的 sso 授权编码(这个编码通常在几十秒钟后就作废)能够让 B 网站作为凭据就行了。