Pav*_*vel 4 java spring dependency-injection spring-mvc session-scope
我有一个自定义AuthenticationSuccessHandler.
我想要做的是在onAuthenticationSuccess方法中设置一些会话数据.
要存储会话数据,我想使用会话范围的bean,它可以在任何控制器中正常工作.
但是如果我尝试在onAuthenticationSuccess方法中检索它,我会得到一个异常:
创建名为'scopedTarget.sessionData'的bean时出错:范围'session'对当前线程无效;
我的代码是:
WebApplicationContext context = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());
SessionData sessionData = context.getBean(SessionData.class);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以尝试声明一个暴露实现会话范围所必需的状态的侦听器:
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
默认情况下,该状态是公开的DispatcherServlet,因此在请求进入之前它不可用DispatcherServlet(例如,在Spring Security过滤器中).
| 归档时间: |
|
| 查看次数: |
2536 次 |
| 最近记录: |