我正在开发一个 jsf 应用程序,我想使用 Spring-Secrity 来验证我的用户,我正在使用休眠,需要: - 使用 Spring-Security 验证用户。- 已认证的用户保存在会话 bean 中。- 我需要一个注销方法。- 我需要确切地知道要添加到我的项目中的罐子。- 在我的数据库中,每个用户都有一个角色(用户或管理员)。
我发现的教程的问题是,在身份验证后没有保存有关当前用户的信息,而我的情况是,我的会话 bean 中确实需要一个 currentuser。
我怎么能做这个?
我正在开发一个 jsf 应用程序,我想使用 Spring-Secrity 来验证我的用户,我正在使用休眠,需要: - 使用 Spring-Security 验证用户。- 已认证的用户保存在会话 bean 中。- 我需要一个注销方法。- 我需要确切地知道要添加到我的项目中的罐子。- 在我的数据库中,每个用户都有一个角色(用户或管理员)。
我发现的教程的问题是,在身份验证后没有保存有关当前用户的信息,而我的情况是,我的会话 bean 中确实需要一个 currentuser。
我怎么能做这个?
我会看一下Spring Web Flow primefaces 示例。它演示了与 JSF 的集成,提供了与 Spring Security 集成的 JSF 标签库等。就能够从会话 bean 访问当前用户而言,您可以使用SecurityContextHolder从应用程序中的任何位置获取当前用户(包括会话 bean)。例如:
Authentication authentication = SecurityContextHolder.getContext()
.getAuthentication();
UserDetails userDetails = (UserDetails) authentication.getPrincipal();