<system.webServer> <modules>
以下をブロックに追加してみてください。
<configuration>
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
<remove name="UrlAuthorization" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
<remove name="DefaultAuthentication" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" />
<remove name="RoleManager" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
</modules>
</system.webServer>
</configuration>
ビットが重要であり、RoleManager
私が見つけたオンラインの例には含まれていません。これがないと、ユーザーのロール メンバーシップが静的コンテンツ用に初期化されないため、ロール ベースの承認は常に失敗します。
(免責事項: IIS についての私の限られた理解に基づいて、これを自分でつなぎ合わせましたが、うまくいくようです。)
編集(コメントへの返信): 申し訳ありませんが、RoleManager が他のモジュールにどのように依存しているかについてはよくわかりません。デフォルトの IIS 構成を表示するにはc:\Windows\System32\inetsrv\config\applicationHost.config
(少なくとも、私の Windows Vista マシンでは過去のことです)、モジュールがロードされる順序を確認します (デフォルトでmanagedHandlerを使用して、RoleManager を非静的コンテンツに制限していることに注意してください)。また、MSDN は、 RoleManagerModuleとSystem.Web.Security名前空間の残りのモジュールをカバーしているため、必要なものが見つかる可能性があります。