为ASP实现SSO的最佳方法是什么?. NET Web应用程序与活动目录



我的组织有几个面向web的ASP。. NET Web表单应用程序。他们目前使用启用了模拟的Windows身份验证。web应用程序在内部托管,但通过不同的域公开暴露,例如www.abc.com &www.xyz.org。

一个新的要求是,将为这些应用程序的所有用户提供一个单一的登录页面。

提出的一些解决方案如下:

  • 实现一个由Active Directory (DotNetOpenAuth)支持的OpenId Provider,修改现有的应用程序成为该op的依赖方。
  • 通过MS Forefront Threat Management Gateway实现单点登录

这两种我都没有经验。建议的解决方案是否可行?每种方法的优缺点是什么?有没有其他更合适的解决方案?

OpenId Provider是一个相当好的主意。这将是一条更容易的路线,网上有一些很好的细节。

您可能还想查看Active Directory联合服务。

http://msdn.microsoft.com/en-us/library/bb897402.aspx

对于迁移到托管解决方案的企业来说,寻求实现联合服务并不罕见,这也是微软在设置和创建Azure时所期望的——对企业友好。

他们在这里整理了一个全面的指南,虽然与你的问题没有直接关系,但确实有关于联邦服务背后技术的大量细节。

http://msdn.microsoft.com/en-us/library/windowsazure/hh127796.aspx

更多的想法和信息,特别是利弊,看看这些文章更深入地回答了这个问题:

http://technet.microsoft.com/en-us/magazine/ff721824.aspx

http://windowsitpro.com/active-directory/ease-cloud-security-concerns-federated-identity

http://www.csoonline.com/article/221034/the-truth-about-federated-identity-management

一些关于DotNetOpenAuth的想法:

http://www.codeproject.com/Articles/325228/Choosing-technologies-for-NET-project

http://social.msdn.microsoft.com/forums/en us/windowsazuresecurity/thread/7a1c4e0c - 346 - c - 4008 - 9 - e5c - 87 ba1273b2aa/

最后,我们个人选择了OpenAuth作为我团队的一个解决方案。一旦我们花时间真正理解rfc(这并不容易,但值得花时间去做),实现就相当轻松了。在网络上也有大量的资源来获得实现的窍门。

最新更新