我正在尝试在ASP.NET Core中创建自定义授权属性.在以前的版本中,可以覆盖bool AuthorizeCore(HttpContextBase httpContext).但这不再存在于AuthorizeAttribute.
制作自定义AuthorizeAttribute的当前方法是什么?
我想要完成的任务:我在Header Authorization中收到一个会话ID.从该ID我将知道特定动作是否有效.
我正在尝试在服务器端 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)
// Our services
services.AddAuthorization(config => …Run Code Online (Sandbox Code Playgroud)