jak*_*aks 1 spring interceptor
我想向拦截器添加身份验证逻辑。当服务被调用时,拦截器将进行身份验证。经过身份验证后,我想在请求中添加一个新标头,例如“header-user”:“john-doe”。但在拦截器中,我无法做到这一点,当我添加到 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;
}
...
}
Run Code Online (Sandbox Code Playgroud)
如果我添加过滤器,过滤器会在拦截器之前被调用。
我从Using Spring Interceptor中发现我可以使用setAttribute
request.setAttribute("user", "john-doe");
Run Code Online (Sandbox Code Playgroud)
在控制器端使用时,
public String testService(@RequestAttribute("user") String user){
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4705 次 |
| 最近记录: |