正直なところ、問題は「currentUser.Identity.Name」が空白である理由です。オプションは次のとおりです。
`<authentication mode="Windows">
</authentication>
<identity impersonate ="false"/>`
また、IIS 7 統合 Windows 認証が有効で、「匿名アクセス」が無効になっています。(ここで言及されました)アプリは同じドメイン内のローカルコンピューターで実行されています。私が書こうとしているとき:
<authorization>
<allow users="MY_USER_NAME"/>
<deny users="?"/>
</authorization>
ページ 401.2 が表示され、アクセスが禁止されています。
そして今、オプションはどこかから継承され、「匿名アクセス」はまだ有効になっていると思います。では、コードで実際の値を確認する方法を教えてください。
UPDATE ロールマネージャーはこれです:
<roleManager defaultProvider="DefaultRoleProvider" enabled="true">
<providers>
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
</providers>
</roleManager>