从Spring Security登录过程访问HTTP会话

时间:2010-02-23 20:54:46

标签: java http session spring-security

我是否可以从我的类的retrieveUser方法中访问HTTP Session对象,该方法扩展了org.springframework.security.providers.dao.AbstractUserDetailsAuthenticationProvider

如果是这样,怎么样?这是retrieveUser的方法签名:

public UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication);

我试图在用户登录后在会话中放置一些用户信息.....

2 个答案:

答案 0 :(得分:1)

如何使用会话范围的bean来存储您需要存储的内容以及填充它的ApplicationListener?您可以将侦听器定义为(假设您使用Java配置):

@Bean
public ApplicationListener<AbstractAuthenticationEvent> authenticationListener() {
    return new MyAuthenticationListener();
}

答案 1 :(得分:0)

好吧,我的解决方案是将数据添加到retrieveUser对象返回的UserDetails对象中。然后,我可以使用Spring Security从应用程序的任何位置检索数据。