2012-11-30 127 views
1

我继承了现有的.net Web应用程序。它是外部用户和内部用户使用的外部网站。要登录/验证内部用户,它使用LDAP验证。外部用户转到不同的数据库。现有.net Web应用程序需要更改身份验证

我的IT部门想要改变内部用户登录的方式。他们不希望允许外部服务器使用LDAP访问AD。是否有更安全的方法从外部服务器访问AD?还是不推荐呢?

另外,登录是否有缺陷的设计?内部和外部用户是否应该以同样的方式登录?什么被认为是登录用户的最佳实践?

+1

尝试寻找到微软ADFS(活动目录联合服务)。它允许用户使用AD身份验证在网站上登录,而服务器和AD服务器之间没有任何联系。还有一个ASP.net模块可以集成到网站中。 –

+0

@ Jan-PeterVos我在读这篇文章,听起来像是打算通过外部客户端的数据库进行身份验证。真的吗? –

回答

2

您可以为此使用ADFS(Active Directory联合身份验证服务)。

这将要求您在网络内部安装ADFS服务器(以便它可以联系AD)。

ADFS服务器包含基于Web的STS(安全令牌服务),允许网页使用AD帐户登录。

Basicly简而言之它会工作如下:

  1. 你的用户导航到外部Web应用程序
  2. Web应用程序将用户重定向到ADFS STS服务器。
  3. ADFS STS服务器将验证您的凭证(通过使用集成安全性或基于Web的登录框)
  4. 如果ADFS STS服务器很满意凭据,则会将用户重定向到外部Web应用程序登录令牌作为额外信息。该令牌包含有关用户的信息(可以配置)。它由ADFS服务器签名(以确保信息是真实的),并可以选择加密。
  5. 外部Web应用程序提取令牌并测试签名。如果全部正确,则Web应用程序将获得用户应具有的权限。

的信息在ASP.NET应用程序,您可以参考以下网址进行设置: http://blogs.msdn.com/b/alextch/archive/2011/06/27/building-a-test-claims-aware-asp-net-application-and-integrating-it-with-adfs-2-0-security-token-service-sts.aspx

相关问题