我正在使用自定义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;
}
}