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