我继承了现有的.net Web应用程序 . 它是外部用户和内部用户使用的外部网站 . 要登录/验证内部用户,它使用LDAP身份验证 . 外部用户转到不同的DB .
我的IT部门想要改变内部用户登录的方式 . 他们不希望允许外部服务器使用LDAP访问AD . 是否有更安全的方法从外部服务器访问AD?或者根本不推荐?
此外,登录的设计是否有缺陷?内部和外部用户是否应该以相同的方式登录?登录用户的最佳做法是什么?
您可以使用ADFS(Active Directory联合身份验证服务) .
这将要求您在网络内部安装ADFS服务器(以便它可以联系AD) .
ADFS服务器包含基于Web的STS(安全令牌服务),以允许网页使用AD帐户登录 .
基本上简而言之,它将如下工作:
您的用户导航到外部Web应用程序
Web应用程序将用户重定向到ADFS STS服务器 .
ADFS STS服务器将验证您的凭据(使用集成安全性或基于Web的登录框)
如果ADFS STS服务器对凭据感到满意,它将使用登录令牌将用户重定向回外部Web应用程序作为额外信息 . 此令牌包含有关用户的信息(可以配置) . 它由ADFS服务器签名(以确保信息是可信的)并且可以选择加密 .
外部Web应用程序提取令牌并测试签名 . 如果一切正确,Web应用程序将对用户应具有的权限进行更新 .
有关在ASP.NET应用程序中进行设置的信息,可以参考以下URL: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
1 回答
您可以使用ADFS(Active Directory联合身份验证服务) .
这将要求您在网络内部安装ADFS服务器(以便它可以联系AD) .
ADFS服务器包含基于Web的STS(安全令牌服务),以允许网页使用AD帐户登录 .
基本上简而言之,它将如下工作:
您的用户导航到外部Web应用程序
Web应用程序将用户重定向到ADFS STS服务器 .
ADFS STS服务器将验证您的凭据(使用集成安全性或基于Web的登录框)
如果ADFS STS服务器对凭据感到满意,它将使用登录令牌将用户重定向回外部Web应用程序作为额外信息 . 此令牌包含有关用户的信息(可以配置) . 它由ADFS服务器签名(以确保信息是可信的)并且可以选择加密 .
外部Web应用程序提取令牌并测试签名 . 如果一切正确,Web应用程序将对用户应具有的权限进行更新 .
有关在ASP.NET应用程序中进行设置的信息,可以参考以下URL: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