【发布时间】:2015-11-23 20:20:03
【问题描述】:
如何在 Spring 拦截器中访问会话范围的变量?
会话范围类:
@Component
@Scope("session")
public class User {
}
控制器:
@Controller
@RequestMapping("/restricted")
@Scope("request")
public class RestrictedController {
@Autowired
private User user;
}
调度程序 servlet:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/restricted/*"/>
<bean class="com.interceptors.RestrictedInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
拦截器类:
public class RestrictedInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
}
}
在 prehandle 中,我想检查用户是否已登录(还有其他一些检查),我如何在此处访问会话范围的用户变量?在 Interceptor 类中自动装配用户会引发异常。
【问题讨论】:
标签: spring spring-mvc