如何解决在 Asp.net Core Web API 中在控制器的授权属性上设置请求的标头
我想在检查授权之前设置标头请求,但我正在寻找执行修改的事件。 这是我对 IAuthorizationFilter 的实现:
public class MyAuthorizationFilter : IAuthorizationFilter
{
public MyAuthorizationFilter()
{
}
public void OnAuthorization(AuthorizationFilterContext context)
{
}
}
这是我在 Startup 中的代码:
services.AddMvc(options =>
{
options.Filters.Add(typeof(ClaimRequirementFilter));
});
这是我在控制器中对 MyAuthorizationFilter 的调用:
[MyAuthorizationFilter()]
public class AccountController : BaseController
{
}
解决方法
修改请求,在auth中间件前加一个中间件:
app.UseRouting();
// add a middleware before auth
app.Use(
async (context,next) => {
// modify the request
context.Request.Headers["A"] = "1";
// call the next middleware
await next();
}
);
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(...);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。