【发布时间】:2013-07-19 16:30:41
【问题描述】:
我正在使用 Spring 3 并尝试在用户登录后从数据库中填充 Spring Security Authentication bean 的权限。
我有一个用于访问数据库的服务,例如
@Service
public class UserService {
public User getUser(String username){...}
}
通常情况下,我可以@Autowire 这个服务,但是因为 Authentication bean 是由 Spring Security 创建的,所以它似乎无法访问该服务。我也试过使用ApplicationContextAware接口,但是Spring Security似乎有一个单独的ApplicationContext。
我可以通过 getUserPrincipal() 从 MVC 访问 Authentication bean,但是有没有办法可以从 Spring Security 身份验证的某个地方访问这个 @Service?
【问题讨论】:
-
我不确定您要做什么。似乎您有一个用户注册到服务(即用户在数据库中的某个位置),用户登录,并且您想访问从数据库中获取的该用户的权限,对吗?
标签: java spring spring-mvc spring-security