C# 在自定义属性/注释C中从请求头传递值#
我想在控制器方法的自定义属性中添加授权标头C# 在自定义属性/注释C中从请求头传递值#,c#,asp.net-core,.net-core,asp.net-core-webapi,C#,Asp.net Core,.net Core,Asp.net Core Webapi,我想在控制器方法的自定义属性中添加授权标头 [HttpGet] [Route("searchUser")] [Authorize] [Admin(Token = this.HttpContext.Request.Headers["Authorization"])] public async Task<IEnumerable<UserDTO>> SearchUser(string SearchS
[HttpGet]
[Route("searchUser")]
[Authorize]
[Admin(Token = this.HttpContext.Request.Headers["Authorization"])]
public async Task<IEnumerable<UserDTO>> SearchUser(string SearchString)
{
var user = await userService.GetUsersFromSearchString(SearchString);
return UserDTO.getDTOfromDbObject(user);
}
[HttpGet]
[路由(“搜索用户”)]
[授权]
[管理员(令牌=this.HttpContext.Request.Headers[“Authorization”])]
公共异步任务SearchUser(字符串SearchString)
{
var user=await userService.GetUsersFromSearchString(SearchString);
返回UserDTO.getDTOfromDbObject(user);
}
基本上是这样的,但我得到一个错误,我不能使用“这个”。
是否有其他方法将请求头传递给我的自定义属性?尝试如下:HttpContext HttpContext=HttpContext.Current;字符串authHeader=this.httpContext.Request.Headers[“Authorization”];属性声明必须使用常量。为什么不创建自己类型的筛选器属性并提取和比较其中的头标记?您可以在自定义属性中直接访问它
HttpContext.Request.Headers[“Authorization”]
。第一种方法不起作用,我不必使用HttpContext.Request.Headers[“Authorization”]在我的属性object中,尝试如下方式:HttpContext HttpContext=HttpContext.Current;字符串authHeader=this.httpContext.Request.Headers[“Authorization”];属性声明必须使用常量。为什么不创建自己类型的筛选器属性并提取和比较其中的头标记?您可以在自定义属性中直接访问它HttpContext.Request.Headers[“Authorization”]
。第一种方法不起作用,我不必在属性对象中使用HttpContext.Request.Headers[“Authorization”]