2012-01-27 14 views
1

が動作していない、私は私の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="*"を取り除く私の解決が、それは働いていた理由を私は知りません。

+0

このルールを削除すると、すべてのユーザーにアクセスを許可し、その管理ユーザーとしてログインすると、HttpContext.Userはそのユーザーが期待される役割を持つことを示しますか?また、system.web/authorization内で同等のものを設定しようとしましたか(これは私がやるところで、IIS7では動作します)。 –

+0

はい、管理者がログインしています。私は 'Response.Write(User.IsInRole(" Admin "));'でそれを確認しました。はい、私はsystem.webを使用して、UrlAuthorizationモジュールを登録しようとしました – smartcaveman

答えて

0

これには回答がないようです。しかし、他の誰かが同じ問題を抱えている場合、私はアプローチを変更し、ASP.NETパイプラインから外部的にセキュリティを管理する必要がありました。

関連する問題