其实很简单的问题:
我目前禁用了 IIS 匿名访问,用户使用他们的 Windows 登录名自动登录。但是调用 User.IsInRole("Role name") 返回 false。我仔细检查了 User.Identity.Name() 和“角色名称”,它应该返回 true。
我目前在我的 Web.Config 中有这个:
更新
我打电话给 User.IsInRole("Role name") 我应该打电话给 User.IsInRole("DOMAIN\Role name")
但是我仍然想知道是否需要 <membership> 条目?
我应该改变什么?(并且是否需要 <membership> 条目?)
<authentication mode="Windows">
<forms
name=".ADAuthCookie"
timeout="10" />
</authentication>
<membership defaultProvider="ADMembershipProvider">
<providers>
<clear/>
<add
name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionUsername="XXX\specialAdUser"
connectionPassword="xx"
/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="WindowsProvider">
<providers>
<clear />
<add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>