[英]asp.net form authentication with active directory and access control
按照本教程,我已经能够使用Active Directory创建有效的ASP.NET Web表单身份验证。
我有两个问题(其中一个可能是我的特定需求):
我将自己的用户名和密码放在web.config
的membership
元素中,用于ConnectionUsername
和ConnectionPassword
。 对我来说似乎很奇怪,当我对域中的所有用户进行身份验证时,我需要在web.config
输入自己的用户名和密码。 我想应该使用登录表单中的用户名和密码,除非我不正确地理解这一点。 我们通常将谁的username
和password
放在web.config
中的membership
元素中?
在该域的数百个用户中,我需要将多个页面(比如说其中的20个)授予访问权限。 我读过有关Active Directory访问控制的信息,但我不想走这条路。 在数据库中有一个具有用户名列表的用户表是常见且明智的,该用户名列表可以访问这些特殊页面,并匹配登录用户是否在该表中并进行授权(如果是)?
谢谢您的意见。
关于#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/zh-cn/library/acsd09b0(v=vs.85).aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.