gpt4 book ai didi

c# - Thinktecture ResourcAuthorization,未设置 AuthorizationManager

转载 作者:行者123 更新时间:2023-11-30 14:53:55 26 4
gpt4 key购买 nike

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

现在我在用授权属性装饰的 Controller 中有一个 Action :

[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());

关于c# - Thinktecture ResourcAuthorization,未设置 AuthorizationManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28216084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com