2

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

4

3 回答 3

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

于 2012-08-08T18:04:19.120 回答
0

您可以通过Windows 身份验证提供程序Windows 身份验证

你应该改变你的authentication部分

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

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

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

使用 Windows 身份验证时,用户名采用 domainName\userName 形式。>Windows 组用作角色,它们采用 domainName\windowsGroupName 的形式。通过使用“BUILTIN”前缀来引用众所周知的本地组,例如管理员和用户,如此处所示。

 <authorization>   
    <allow users="DomainName\Bob, DomainName\Mary" />  
    <allow roles="BUILTIN\Administrators, DomainName\Manager" />   
    <deny  users="*" /> 
 </authorization>
于 2012-08-08T17:44:58.390 回答
0

如果您想使用自己的 RoleProvider,则需要使用 Forms Authentication。但是,您可以使用内置的ActiveDirectoryMembershipProvider 类来针对 Active Directory 对用户进行身份验证。

于 2012-08-08T18:04:26.857 回答