首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Thinktecture,没有AuthorizationManager集

Thinktecture,没有AuthorizationManager集
EN

Stack Overflow用户
提问于 2015-01-29 13:34:54
回答 1查看 974关注 0票数 3

我正在尝试使用来自github的Thinktecture示例ResourceAuthorization构建一个示例web应用程序。

现在,我在控制器中有了一个带有授权属性的操作:

代码语言:javascript
复制
[ResourceAuthorize("Edit", "Resource")]
    public ActionResult Edit()
    {
        return View();
    }

我实现了自己的AuthorizationManager:

代码语言:javascript
复制
 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();
        }
    }

当我现在试图运行我的应用程序时,我一直收到错误:

代码语言:javascript
复制
No AuthorizationManager set.

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

代码语言:javascript
复制
 <system.identityModel>
<identityConfiguration>
    <claimsAuthenticationManager type="Namespace.xy.AuthorizationManager, Namespace.xy" />
</identityConfiguration>
</system.identityModel>

它不起作用。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-30 07:35:51

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

代码语言:javascript
复制
 app.UseResourceAuthorization(new MyAuthorizationManager());
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28216084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档