向用户添加角色(Windows身份验证)

时间:2012-08-08 17:28:34

标签: c# asp.net iis iis-7

我的Web应用程序中有两个文件夹,第一个用于normal_user,第二个用于管理员,为了保护它们我在asp.net配置中创建了两个角色,一切都还可以,但问题是我想要使用Windows身份验证验证我的用户而不是表单身份验证,我应该做什么?

3 个答案:

答案 0 :(得分:1)

清单1:通过web.config文件拒绝所有用户。将模式声明为windows:

<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

答案 1 :(得分:0)

您可以通过Windows Authentication ProviderWindows Authentication

你应该挑战你的authentication部分

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

在应用程序中启用Web应用程序的模拟   Web.config文件设置标识元素的impersonate属性   为true,如下面的代码示例所示。

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

使用Windows身份验证时,用户名采用domainName \ userName格式。 &gt; Windows组用作角色,它们采用   表单domainName \ windowsGroupName。众所周知的当地团体如   使用“BUILTIN”前缀引用管理员和用户   如图所示。

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

答案 2 :(得分:0)

如果您想使用自己的RoleProvider,则需要使用表单身份验证。但是,您可以使用内置ActiveDirectoryMembershipProvider Class根据Active Directory对用户进行身份验证。