相关疑难解决方法(0)

如何在ASP.NET Core中创建自定义AuthorizeAttribute?

我正在尝试在ASP.NET Core中创建自定义授权属性.在以前的版本中,可以覆盖bool AuthorizeCore(HttpContextBase httpContext).但这不再存在于AuthorizeAttribute.

制作自定义AuthorizeAttribute的当前方法是什么?

我想要完成的任务:我在Header Authorization中收到一个会话ID.从该ID我将知道特定动作是否有效.

c# asp.net authorization asp.net-core-mvc asp.net-core

362
推荐指数
13
解决办法
19万
查看次数

Blazor 应用程序的身份验证处理程序中未调用 HandleRequirementAsync

我正在尝试在服务器端 Blazor 应用程序中使用自定义身份验证处理程序。我的处理程序中有一个断点,但它没有被击中。少了什么东西?

要求

public class ValidUserRequirement : IAuthorizationRequirement
{
    public bool MustBeValid { get; }

    public ValidUserRequirement(bool IsValid)
    {
        MustBeValid = IsValid;
    }
}
Run Code Online (Sandbox Code Playgroud)

政策

public static class Policies
{

    public const string IsValidUser = "IsValidUser";


    public static AuthorizationPolicy IsValidUserPolicy()
    {
        return new AuthorizationPolicyBuilder().RequireAuthenticatedUser()                                                  
                                               .Build();
    }
}
Run Code Online (Sandbox Code Playgroud)

处理程序

public class MyAuthHandler : AuthorizationHandler<ValidUserRequirement>
{

    protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ValidUserRequirement requirement)
    {    
        // will do checks against Db here
        return Task.CompletedTask;
    }
}
Run Code Online (Sandbox Code Playgroud)

摘自startup.cs

// Our services
services.AddAuthorization(config => …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core blazor blazor-server-side

6
推荐指数
0
解决办法
1258
查看次数