実際には非常に単純な質問:
現在、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>