使用Active Directory实现ASP.NET Web应用程序的SSO的最佳方法是什么?

时间:2013-04-16 02:22:01

标签: asp.net active-directory openid security single-sign-on

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

一项新要求是,将为这些应用的所有用户提供单一登录页面,以便通过该帐户登录。

提出的一些解决方案是:

  • 实施由Active Directory支持的OpenId Provider(DotNetOpenAuth),修改现有应用程序以成为此OP的依赖方。
  • 通过MS Forefront威胁管理网关实施SSO。

我对这些中的任何一个都没有经验。提议的解决方案是否可行?各自的优点和缺点是什么?还有其他解决方案可能更合适吗?

1 个答案:

答案 0 :(得分:3)

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-346c-4008-9e5c-87ba1273b2aa/

最后,我们亲自带着OpenAuth参与我的团队解决方案之一。一旦我们花时间真正理解RFC(这不是一件容易的事,但值得花时间去做),实施起来相当轻松。网上还有大量资源可以解决实施问题。