Thinktecture ResourcAuthorization,未设置 AuthorizationManager

Thinktecture ResourcAuthorization, no AuthorizationManager set

我正在尝试使用来自 github.

的 Thinktecture 示例 ResourceAuthorization 构建示例 Web 应用程序

现在我在控制器中有一个动作,装饰有授权属性:

[ResourceAuthorize("Edit", "Resource")]
    public ActionResult Edit()
    {
        return View();
    }

我实现了自己的 AuthorizationManager:

 public class AuthorizationManager : ResourceAuthorizationManager
{
    public override Task<bool> CheckAccessAsync(ResourceAuthorizationContext context)
    {
        var resource = context.Resource.First().Value;

        if (resource == "Resources")
        {
            return CheckResourcesAccessAsync(context);
        }
        else
        {
            return Nok();
        }
    }

当我现在尝试 运行 我的应用程序时,我不断收到错误消息:

No AuthorizationManager set.

我想也许我必须像这样在 web.config 中注册经理:

 <system.identityModel>
<identityConfiguration>
    <claimsAuthenticationManager type="Namespace.xy.AuthorizationManager, Namespace.xy" />
</identityConfiguration>
</system.identityModel>

没用。我做错了什么?

解决方案是在启动时注册授权管理器:

 app.UseResourceAuthorization(new MyAuthorizationManager());