カスタムClaimsAuthorizationManagerを使用してMVCで承認を行っていますが、問題が発生しています。
- CheckAccessメソッドで単に「true」を返したとしても、次の理由により、すべてのファイル/画像が500ランタイムエラーでブロックされています。
例外情報:例外タイプ:NotSupportedException例外メッセージ:ID1075:現在のプリンシパル(HttpContext.Current.User)がClaimsPrincipalでないと、ClaimsAuthorizationModuleを使用できません。System.IdentityModel.Services.ClaimsAuthorizationModule.Authorize()で
アプリケーションの早い段階で現在のプリンシパルに関して何も変更していません...考えますか?私は困惑していて、そのエラーを検索しても何もわかりません...
<system.webServer>
<modules>
...
<add name="ClaimsAuthorizationModule" type="System.IdentityModel.Services.ClaimsAuthorizationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</modules>
</system.webServer>
<system.identityModel>
<identityConfiguration>
<claimsAuthorizationManager type="NamespaceFun.CustomAuthorizationManager, NamespaceFun" >
<policy resource="http://localhost:52606/" action="GET">
</policy>
</claimsAuthorizationManager>
...
</identityConfiguration>
</system.identityModel>
public class CustomAuthorizationManager : ClaimsAuthorizationManager
{
public override bool CheckAccess(AuthorizationContext context)
{
return true;
}
}