首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >公司的企业单点登录实现

公司的企业单点登录实现
EN

Stack Overflow用户
提问于 2013-01-30 19:01:01
回答 2查看 529关注 0票数 0

我一直在努力弄清楚企业环境中的单点登录,以及什么解决方案最适合我公司的问题。

我们有几个应用程序(大部分在.net中,但也有一些在java中)在我们的域上运行。a.mydomain.com、b.mydomain.com等

我的问题在于试图弄清楚如何实现单点登录,因为据我所知,像OpenID和OpenAuth这样的应用是用于脸书,推特,基于链接的单点登录,即基于消费者的单点登录。

我们想要一个内部的SSO系统设置,但是我找不到很多关于如何做到这一点以及使用什么协议/框架/服务器的企业示例。

谁能告诉我在这种情况下应该如何使用OpenID/OpenAuth,以及使用OpenID/OpenAuth有什么优点和缺点?

另外,基于令牌的单点登录是个好主意吗?考虑到所有的应用程序将在相同的域(SSL设置)。

最后,基于cookie的单点登录是个好主意吗?

谢谢你,尼尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-30 19:14:57

正如您提到的,您的所有应用程序都在同一个域中,并且您正在寻找内部单点登录解决方案,我建议您使用基于cookie的单点登录service.Simply,因为

  • 它将更容易实现。只需检查cookies并为用户提供访问应用程序的权限。
  • 不需要在不同应用程序之间交换XML消息(不需要设计模式)
  • 您不需要聘请任何网络服务专家。(只要您的开发人员知道如何处理cookies)
  • ultimately,这将取决于您的可伸缩性需求

更新:

可扩展性:

  • 将来,您可能会跨不同的地理位置扩展您的用户基础不同的应用程序可能具有不同的服务器,并且用户数据库可能变成distributed.
  • In这种情况下,您将不得不维护一个身份存储库来提供身份验证即服务(这就是您提到的身份验证框架所完成的工作)

Cookie:

  • Cookie处理不是火箭科学。浏览器在HTTP请求中自动向你的服务器发送cookie,你只需阅读它。
  • 在用户登录时创建cookie。将域属性设置为你的根域,以便其他子域可以访问它。当用户尝试登录应用时,
  • 会检查cookie。如果存在cookie,则表示用户已经登录。
  • 当用户注销时,不要忘记删除它们。
票数 1
EN

Stack Overflow用户

发布于 2013-01-30 20:24:23

Active Directory联合身份验证服务(http://msdn.microsoft.com/en-us/library/bb897402.aspx)是一种企业解决方案。我不建议编写自己的令牌颁发者,因为这涉及到很多风险,安全性和性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14602409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档