我的 Web 应用程序中有两个文件夹,第一个用于 normal_user,第二个用于管理员,为了保护它们,我在 asp.net 配置中创建了两个角色,一切正常,但问题是我想验证我的用户使用 Windows 身份验证而不是表单身份验证,我应该做什么?
3 回答
清单 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
您可以通过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>
如果您想使用自己的 RoleProvider,则需要使用 Forms Authentication。但是,您可以使用内置的ActiveDirectoryMembershipProvider 类来针对 Active Directory 对用户进行身份验证。