ClaimsPrincipalPermission.CheckAccess MVC 4.6 Controller构造函数Exceptions

时间:2016-02-03 14:24:19

标签: c# asp.net-mvc security claims-based-identity

在构造函数中调用ClaimsPrincipalPermission.CheckAccess("SecuredClass", "GeneralAccess");

    public SubmissionsController()
    {            
        try {
            ClaimsPrincipalPermission.CheckAccess("SecuredClass", "GeneralAccess");
        } catch (Exception ex) {
            throw;
        }
    }

当我从CheckAccess返回false时,它会按预期抛出System.Security.SecurityException但是它会立即在System.IdentityModel.Services(mscorlib.dll)中抛出System.Reflection.TargetInvocationException因此这很难捕获由TargetInvocationException包装的安全异常。

如何在构造函数中执行CheckAccess调用? (理想情况下,我想在类上放置一个属性,以确保用户可以对该方法进行一般访问,但结果也会出现奇怪的异常)

0 个答案:

没有答案