2012-08-08 44 views
2

我在我的web应用程序中有两个文件夹,第一个用于normal_user,第二个用于管理员,以保护他们我在asp.net配置中创建了两个角色,一切正常,但问题是我想用Windows身份验证而不是表单身份验证来认证我的用户,我该怎么办?为用户添加角色(Windows身份验证)

回答

1

清单1:通过web.config文件拒绝所有用户..你的声明模式为窗口:

<system.web> 
    <authentication mode="Windows" /> 
    <authorization> 
     <deny users="*" /> 
    </authorization> 
</system.web> 

在下方滚动的链接太多了下来:“验证和授权集团:

基于关我的书,解释了所有4类:

http://www.wrox.com/WileyCDA/Section/ASP-NET-3-5-Windows-Based-Authentication.id-310905.html

+0

谢谢你,你帮了我很多 – ben01 2012-08-08 18:40:30

+0

没问题@ ben01!如果你想把我作为你的答案/投票:) – KKP 2012-08-08 18:41:14

+0

@ ben01,只有一个检查答案可以给予顺便说一句。 – KKP 2012-08-08 18:43:32

0

你可以走通Windows Authentication ProviderWindows Authentication

你应该恰克你authentication部分

<system.web> 
<authentication mode="Windows"/> 
</system.web> 

启用模拟为Web应用程序,在应用程序的 Web.config文件中设定的冒充属性的身份元素 为true,如以下代码示例所示。

<system.web> 
    <authentication mode="Windows"/> 
    <identity impersonate="true"/> 
</system.web> 

当您使用Windows身份验证,用户名的格式为域名\用户名。 > Windows组用作角色,他们以 的形式domainName \ windowsGroupName。通过使用“BUILTIN”前缀 来引用众所周知的本地组,例如 管理员和用户,如下所示。

<authorization> 
    <allow users="DomainName\Bob, DomainName\Mary" /> 
    <allow roles="BUILTIN\Administrators, DomainName\Manager" /> 
    <deny users="*" /> 
</authorization> 
+0

但我的两个文件夹是由两个角色,如何将角色添加到我的Windows用户在web.config? – ben01 2012-08-08 17:49:16

+0

如果您使用的Windows身份验证角色与用户所属的本地组相同,或者对于域,则为Active Directory组。它不使用RoleProvider。 – JamieSee 2012-08-08 18:01:14