Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
在Spring拦截器中传递新头_Spring_Interceptor - Fatal编程技术网

在Spring拦截器中传递新头

在Spring拦截器中传递新头,spring,interceptor,Spring,Interceptor,我想向拦截器添加身份验证逻辑。调用服务时,拦截器将进行身份验证。一旦通过身份验证,我想在请求中添加一个新的头,比如“header user”:“john doe”。但在interceptor中,我无法做到这一点,当我添加到response.setHeader()时,什么也不会发生。 我想在实际的REST服务中使用这个新头 public class AuthInterceptor implements HandlerInterceptor { @Override public boole

我想向拦截器添加身份验证逻辑。调用服务时,拦截器将进行身份验证。一旦通过身份验证,我想在请求中添加一个新的头,比如“header user”:“john doe”。但在interceptor中,我无法做到这一点,当我添加到response.setHeader()时,什么也不会发生。 我想在实际的REST服务中使用这个新头

public class AuthInterceptor implements HandlerInterceptor {

  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

  // Authenticate
  // Add header
   response.setHeader("header-user", "john-doe"); // not working

    return true;
  }
...
}
若我添加过滤器,过滤器在拦截器之前被调用。

我从中发现我可以使用setAttribute

request.setAttribute("user", "john-doe");
在控制器端使用中

public String testService(@RequestAttribute("user") String user){
我发现我可以使用setAttribute

request.setAttribute("user", "john-doe");
在控制器端使用中

public String testService(@RequestAttribute("user") String user){