我想实现一个SSO框架。我的要求是:
一旦用户登录到特定网站并点击了外部链接,就不应该要求他再次验证他的凭据。
编辑:在这里,我可以控制我所说的“外部链接”。该人登录的第一个链接可以提供我所需的凭据或其他信息,但我无法控制它。
我研究了一下,发现CAS与我的需求相关。但是,我不希望最终用户一开始登录到CAS,我需要一个框架,从当前登录的网站接收凭据,并使用相同的登录到其他外部网站。当然,安全性是一个重要的因素。你能给我一些关于如何设计这样一个框架的指点/想法吗?
发布于 2013-07-13 02:39:10
根据您所描述的内容,听起来身份提供者(IdP)发起的SAML将满足您的需求(here是一个很好的可视化表示)。您的用户登录的原始网站将充当身份提供者。一旦用户通过该应用程序的身份验证,他们就可以通过单击链接来访问您的外部应用程序。原始应用程序不会被定向到您的应用程序的登录页面,而是通过SAML将用户的授权详细信息转发给您,在那里将验证签名,并可能与身份提供商进行检查。如果一切正常,用户将被重定向到您的应用程序中请求的资源,而无需登录。
请注意,上面描述了SSO的协议。您可以使用许多支持SAML的不同框架。您可以研究的两个是Shibboleth和前面提到的OpenAM。
这是一个基于有限细节的相当简单的解释,但希望它能帮助您找到解决方案。我建议在做出决定之前,对可用的协议和框架做一些充分的研究。此外,在投资到没有回报的地步之前,概念证明证明解决方案对你来说是有效的,这是不会有坏处的。
祝好运。
发布于 2013-07-13 00:54:39
OpenAM应该会帮助你:
OpenAM提供开源的身份验证、授权、授权和联合软件。通过OpenAM,社区积极地继续开发OpenSSO。
OpenAM提供核心身份服务,以简化作为网络基础设施中的安全组件的透明单点登录的实施。OpenAM为集成不同的web应用程序提供了基础,这些应用程序通常针对一组不同的身份存储库运行,并托管在各种平台上,如web和应用程序服务器。
发布于 2013-07-13 00:57:40
在维基百科的单点登录实现列表上,您可以找到SSO实现的列表,其中有一列指明了许可证。
从here阅读有关jboss sso的内容。
https://stackoverflow.com/questions/17620037
复制相似问题