C# 企业SSO的实现
我一直在努力了解企业环境中的SSO,以及什么样的解决方案最适合我公司的问题 我们有几个应用程序(大部分在.net中,但一些在java中)在我们的域上运行。。a、 mydomain.com、b.mydomain.com等 我的问题在于试图找出如何实现单点登录,因为据我所知,OpenID和OpenAuth等用于facebook、twitter、基于链接的SSO,即基于消费者的SSO 我们需要一个内部SSO系统设置,但我找不到很多企业示例来说明如何进行设置以及使用哪些协议/框架/服务器 有谁能告诉我如何以及是否应该在这种情况下使用OpenID/OpenAuth,以及它的优点和缺点是什么 另外,基于令牌的SSO是一个好主意吗?考虑到所有应用程序都将位于同一个域(SSL已设置) 最后,关于基于cookie的SSO,这是一个好主意吗 谢谢C# 企业SSO的实现,c#,security,authentication,single-sign-on,C#,Security,Authentication,Single Sign On,我一直在努力了解企业环境中的SSO,以及什么样的解决方案最适合我公司的问题 我们有几个应用程序(大部分在.net中,但一些在java中)在我们的域上运行。。a、 mydomain.com、b.mydomain.com等 我的问题在于试图找出如何实现单点登录,因为据我所知,OpenID和OpenAuth等用于facebook、twitter、基于链接的SSO,即基于消费者的SSO 我们需要一个内部SSO系统设置,但我找不到很多企业示例来说明如何进行设置以及使用哪些协议/框架/服务器 有谁能告诉我如
Neil正如您提到的,您的所有应用程序都在同一个域中,并且您正在寻找内部SSO解决方案,我建议您使用基于cookie的SSO服务。原因很简单
- 这将更容易实施。只需检查cookies并允许用户访问应用程序
- 不同应用程序之间无XML消息交换(无需设计架构)
- 您不需要雇佣任何Web服务专家。(只要开发人员知道如何处理cookie)
- 最终,它将取决于您的可扩展性要求李>
- 将来,您可能会在不同的地理位置扩展您的用户群
- 不同的应用程序可能有不同的服务器,并且用户数据库可能是分布式的
- 在这种情况下,您必须维护一个身份存储库,以便将身份验证作为一项服务提供。(您提到的身份验证框架就是这样做的)
- 饼干处理不是火箭科学。浏览器会自动将Cookie发送到 您的服务器在HTTP请求中,您只需读取它
- 创建用户登录的cookie。将域属性设置为根域,以便 其他子域可以访问它
- 当用户尝试登录应用程序时检查cookie。如果存在cookie,则表示用户已登录
- 当用户注销时,不要忘记删除它们