Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在自定义属性/注释C中从请求头传递值#_C#_Asp.net Core_.net Core_Asp.net Core Webapi - Fatal编程技术网

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”]