我是否可以从我的类的retrieveUser方法中访问HTTP Session对象,该方法扩展了org.springframework.security.providers.dao.AbstractUserDetailsAuthenticationProvider
如果是这样,怎么样?这是retrieveUser的方法签名:
public UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication);
我试图在用户登录后在会话中放置一些用户信息.....
答案 0 :(得分:1)
如何使用会话范围的bean来存储您需要存储的内容以及填充它的ApplicationListener?您可以将侦听器定义为(假设您使用Java配置):
@Bean
public ApplicationListener<AbstractAuthenticationEvent> authenticationListener() {
return new MyAuthenticationListener();
}
答案 1 :(得分:0)
好吧,我的解决方案是将数据添加到retrieveUser对象返回的UserDetails对象中。然后,我可以使用Spring Security从应用程序的任何位置检索数据。