が動作していない、私は私のweb.configファイルに次き:system.webServer /セキュリティ/認証は、私のAdminフォルダのルートで
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="" roles="Admin" />
</authorization>
</security>
</system.webServer>
これはほとんどそのままですIIS documentationから、私は "管理者"ではなく "管理者"になるように役割を変更しました。それはそれが私のアプリの役割だからです。
ASP.NET UrlAuthorizationモジュールが、私のルートweb.configのmodules
要素の<remove name="UrlAuthorization" />
で実行されていないことを確認しました。私はIIS7のUrlAuthorizationをインストールしたので、それが動作していることが分かります。
問題は、明示的に管理者ロールを許可し、管理者ユーザーがログインしていることを確認しても、管理者は不正なエラーを取得することです。私は何を誤解していますか?
注、私はこの質問を書き始めてから、私は問題は明示的にすべての禁止役割を列挙し、remove users="*"
を取り除く私の解決が、それは働いていた理由を私は知りません。
このルールを削除すると、すべてのユーザーにアクセスを許可し、その管理ユーザーとしてログインすると、HttpContext.Userはそのユーザーが期待される役割を持つことを示しますか?また、system.web/authorization内で同等のものを設定しようとしましたか(これは私がやるところで、IIS7では動作します)。 –
はい、管理者がログインしています。私は 'Response.Write(User.IsInRole(" Admin "));'でそれを確認しました。はい、私はsystem.webを使用して、UrlAuthorizationモジュールを登録しようとしました – smartcaveman