具有活动目录和访问控制的asp.net表单身份验证

时间:2014-05-06 03:48:12

标签: c# asp.net authentication active-directory web-config

我已经能够在tutorial之后使用Active Directory创建一个有效的ASP.NET Web表单身份验证。

我有两个问题(其中一个问题可能与我的需求有关):

  1. 我在membershipweb.config ConnectionUsername的{​​{1}}元素中输入了我自己的用户名和密码。我觉得奇怪的是,当我对域中的所有用户进行身份验证时,我需要在ConnectionPassword中添加自己的用户名和密码。我想可以使用登录表单中的用户名和密码,除非我不明白这一点。我们通常会将web.configusername添加到password web.config元素中吗?

  2. 在域中的数百名用户中,我需要将多个用户(比如说其中20个)的访问权限授予多个页面。我读到了有关Active Directory访问控制的信息,但我不想走这条路。在数据库中有一个表可以访问这些特殊页面,并且是否登录用户是否在该表中并进行授权,这是否常见且明智?

  3. 感谢您的投入。

1 个答案:

答案 0 :(得分:1)

关于#1:

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

或者要限制数据库级别的访问,您不会在连接字符串中指定凭据并使用" impersonate = true;"替代字符串中的选项。

关于#2:

您可以通过allow和deny节点限制对web.config中特定用户的访问,例如:

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

这只允许两个用户进入并拒绝所有其他用户。您也可以指定Active Directory组。

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