Asp.net表单身份验证与活动目录和访问控制

本文关键字:访问控制 活动 net 表单 身份验证 Asp | 更新日期: 2023-09-27 18:02:05

我已经能够创建一个工作的ASP。. NET web表单身份验证。

我有两个问题(其中一个可能是针对我的需求):

  1. 对于ConnectionUsernameConnectionPassword,我在web.configmembership元素中放入了自己的用户名和密码。这对我来说似乎很奇怪,当我在验证域中的所有用户时,我需要将自己的用户名和密码放在web.config中。我认为应该使用登录表单中的用户名和密码,除非我理解错了。我们通常把谁的usernamepassword放在membership元素中的web.config中?

  2. 在域中的数百个用户中,我需要给几个用户(假设其中20个)访问几个页面的权限。我读过有关活动目录访问控制的文章,但我不想走这条路。在数据库中设置一个表,其中包含可以访问这些特殊页面的用户名列表,并对该表中是否有登录用户进行匹配,并对其进行授权,这是否常见且明智?

Asp.net表单身份验证与活动目录和访问控制

关于# 1:

通常,您将为数据库创建一个被识别为"应用程序"的用户,并指定这些凭据。"应用程序"代表用户行事。

或者要在数据库级别限制访问,则不应在连接字符串中指定凭据,而应在连接字符串中使用"impersonate=true;"选项。

关于# 2:

您可以在web中限制特定用户的访问。通过allow和deny节点配置,例如:

<system.web>
<authorization>
  <allow users="MyCompanyDomain'John.Deere,MyCompanyDomain'Jane.Doore"/>
  <deny users="*"/>
</authorization>
</system.web>

这只允许两个用户进入,拒绝所有其他用户。您也可以指定活动目录组。

阅读更多:http://msdn.microsoft.com/en-us/library/acsd09b0(v=vs.85).aspx