首页 新闻 会员 周边 捐助

在 ASP.NET Core 中的 IAuthorizationHandler 实现中如何访问 HttpContext

0
悬赏园豆:30 [已解决问题] 解决于 2023-01-09 09:14

比如下面的 BlogOwnerRequirementHandler 实现中如何访问 HttpContext?

public class BlogOwnerRequirementHandler : IAuthorizationRequirement, IAuthorizationHandler
{
    public Task HandleAsync(AuthorizationHandlerContext context)
    {
            
    }
}
dudu的主页 dudu | 高人七级 | 园豆:29570
提问于:2023-01-09 08:46
< >
分享
最佳答案
0

通过 context.Resource 就可以访问 HttpContext

public class BlogOwnerRequirementHandler : IAuthorizationRequirement, IAuthorizationHandler
{
    public Task HandleAsync(AuthorizationHandlerContext context)
    {
        if (context.Resource is HttpContext httpContext)
        {
            if (httpContext.GetBlogContext().IsBlogOwner)
            {
                context.Succeed(this);
            }
        }

        return Task.CompletedTask;
    }
}

参考:ASP.NET Core Authorization handler that allows request from private IP ranges

dudu | 高人七级 |园豆:29570 | 2023-01-09 09:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册