是否可以将ASPNet应用程序中的Windows身份验证用户限制到特定域?

时间:2010-10-07 01:44:04

标签: asp.net-mvc-2 asp-classic windows-authentication

我正在将一个经典的ASP应用程序拉入Mvc2。我将部署到Intranet,并被要求启用对Windows身份验证的支持。我将部署的网络有一些AD域,我只需要特别集成一个。是否可以使用Windows身份验证并仅允许在特定域内进行身份验证?

同样,用户在多个域中拥有一个帐户(帐户名称本身通常不同)的情况并不少见 - 如果用户使用“不受支持”的域名登录,我想踢他们到登录表单。这是否可以简单地使用Windows Auth或我最好寻找替代方案?

2 个答案:

答案 0 :(得分:2)

专业提示:

无论您做什么,都不会通过IIS实现Windows身份验证。在MVC应用程序中有一个Forms Authentication页面,但使用LDAP身份验证提供程序。通过这种方式,您可以避免浏览器实现Windows身份验证的方式之间的差异(仅适用于IE,这不是一个很好的理由)。

答案 1 :(得分:0)

问题“是否可以使用Windows身份验证并仅允许在特定域内进行身份验证?”我的咨询经验中始终只有一个答案:答案是您为经过身份验证的资源设置的权限。

我很少发现没有某些文件,文件夹,服务器,COM +对象,SQL角色或数据库表的部署,这些部署无法“锁定”,只允许用户子集访问重新定位(例如“DOMAIN \ Domain Users”):

  • 设置ASPX文件(或包含它们的文件夹以及继承文件)的权限,这些文件是“前门”(以及可选的所有其他文件),以便只有“用户才能访问”域用户“允许域的组”
  • 限制托管网站的服务器上的登录权限,以便只有Domain Users组具有相应的权限 - 这取决于所使用的身份验证提供程序,这可能是“允许本地登录”或“从网络访问此计算机” “
  • 在组件服务的某个层设置权限
  • 限制SQL Server角色,以便只有“域用户”才能阅读&执行必要的数据库对象