シナリオ
カスタムを使用して、IPrincipal
asp.netIIdentity
認証を行っています。を使用してイベント中にPrincipal
とを設定しました。Identity
PostAuthenticateRequest
IHttpModule
web.config は、おおよそ次のようになります。
<system.web>
<authorization>
<allow verbs="GET,POST" roles="domain\group"/>
<deny verbs="*" users="*"/>
</authorization>
</system.web>
<location path="~/admin/user_search.aspx">
<system.web>
<authorization>
<allow verbs="GET,POST" roles="admin"/>
<deny verbs="*" users="*"/>
</authorization>
</system.web>
</location>
問題
リクエストを行うと、IPrincipal.IsInRole
メソッドはチェックのために一度呼び出されますが、ロールdomain\group
をチェックするために再度呼び出されることはありません。admin
これは何が原因ですか?構文が間違っていlocation
ますか、それとももっと深刻な問題がありますか?
ノート
最初は、管理ディレクトリの web.config がルート ディレクトリの web.config をオーバーライドしていると思っていましたが、location
要素に使用するだけでなく、完全に削除しようとしました。どちらもこれまでのところ機能していません。