什么是SSO(单点登录)?

6

我理解SSO是所有连接应用程序的一次性登录。我想更多地了解SSO以及它是如何实现的。


1
请查看此链接以获取更多信息:http://en.wikipedia.org/wiki/Single_sign-on - MysticSlayer
6个回答

18

这是唐尼,他是我的朋友。

基本机制是相信你朋友的朋友。

另一个经常被使用的比喻是当你进入一个安全建筑时他们给你的贴纸。早上,你向保安出示有效的身份证明(凭证),然后在整个白天中,这个贴纸就起到了通行证(令牌)的作用。第二天回来时,你必须再次出示身份证明。

关键技术是如何相信你的朋友、保安或任何处于敌对网络中的人。看看Kerberos或非对称加密是如何运作的。


2
单点登录(Single Sign-on)允许最终用户登录到一个单一的门户,并无缝地访问多个应用程序,减少多个登录屏幕并通过具有中央入口点来增加安全性。在许多组织中,解决最终用户抱怨必须记住多个密码的问题是一个常见的目标。为网络应用程序提供多个登录访问点不仅对最终用户来说是一个痛点,而且也是一个安全风险,可能会使您的公司容易受到网络攻击。单点登录门户解决方案可以消除多个密码提示的麻烦,并简化用户的访问。然而,许多单点登录解决方案成本高昂且难以实施,以有效处理所有用户访问方案。当试图允许单点登录体验继续为外部用户提供服务时,集成尤其困难,从客户到合作伙伴再到供应商甚至供应商,他们都希望无缝访问托管的Web应用程序。
我最近一直在研究不同的单点登录解决方案-有这么多!我看到了这个小视频,觉得非常聪明!http://youtu.be/KTweSfRW18M?list=UUJD2scx1baSeUDSIk7N35Ww

0

0
在部署在同一域名下的Web应用程序的上下文中,实现SSO的一种方式是使用基于Cookie的机制。
假设我们有app1.example.com和app2.example.com,并且我们想在它们之间启用SSO。正如您已经提到的那样,这意味着我登录到app1,如果我在同一个Web浏览器会话中访问app2,则我将不必再次登录到app2。
从技术上讲,两个应用程序都需要一种创建安全令牌(Cookie)并读取它的方法。对于我们的示例,Cookie可以存储有关已登录用户的信息。该信息甚至可以使用由两个应用程序知道的密钥加密到Cookie中。
第一个登录场景- app1创建Cookie:
用户登录到app1.example.com。在app1登录成功后,app1将触发为example.com的域和子域设置已登录用户的Cookie的创建(为'.example.com'设置Cookie)。此时,Cookie位于客户端的浏览器中。
  1. 无需登录即可访问第二个应用程序 - 应用程序2读取cookie。

在新的浏览器标签中,用户正在访问app2.example.com。浏览器将附加由app1创建的cookie到对app2.example.com的请求中,因为它位于同一域中。 app2将具有一个过滤器,该过滤器读取cookie提取用户名并使用它创建app2会话,从而绕过整个登录过程,完成SSO。

可以通过登录到app2并访问app1来实现相同的情况,而无需登录,条件是这次app2应该能够创建cookie,而app1应该能够读取它并将其用于会话创建。


0

SSO指的是单点登录,它默认实现了基于声明的身份验证以及表单身份验证或Windows身份验证。主要使用声明,第三方称为发行者,将授权用户访问应用程序,提供包含声明和数字签名的令牌来识别应用程序的发行者。

您可以在此处获取更多信息:

http://en.wikipedia.org/wiki/Single_sign-on


-2

单点登录是在实现基于声明的身份验证时默认提供的功能。它涉及到发行方进行额外的第三方身份验证,该发行方会在从希望访问应用程序的用户那里获得凭据后提供令牌。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接