gpt4 book ai didi

asp.net - 如何在 ASP.NET Core (ASP.NET 5) 中创建自定义授权

转载 作者:行者123 更新时间:2023-12-04 12:05:51 25 4
gpt4 key购买 nike

我想在控件中自定义实现 [Authorize] 属性。

这就是我所做的。

  • ConfigureServices 中的 StartupClass
    services.AddAuthorization(options =>
    {
    options.AddPolicy("Authorize", policy =>
    {
    policy.AddRequirements(new MyRequirement());
    });
    });
  • 我的要求
    public class MyRequirement : AuthorizationHandler<MyRequirement>, IAuthorizationRequirement
    {
    protected override void Handle(AuthorizationContext context, MyRequirement requirement)
    {
    //some work
    //if shloud be authorized
    context.Succeed(requirement);
    }
    }
  • 测试 Controller
    [Authorize("Authorize")]
    [Route("api/[controller]")]
    public class TestController : Controller
    {
    ...
    }

  • 我错过了什么? MyRequirement authorizationhader 永远不会被调用。
    谢谢你。

    最佳答案

    我相信你错过了这一部分:

    services.AddSingleton<IAuthorizationHandler, MyRequirementHandler>();

    Source

    关于asp.net - 如何在 ASP.NET Core (ASP.NET 5) 中创建自定义授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732769/

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