按用户名检索用户会话详细信息

时间:2014-04-30 12:31:09

标签: spring spring-security

有没有办法通过用户名或其他对象识别suer来获取用户会话的详细信息(例如“权威”)?

我知道很容易掌握当前用户的这些详细信息(例如Collection<?> authorities = authentication.getAuthorities()),但我有什么办法可以做点什么吗

Collection<?> authorities = authentication.getAuthoritiesByUsername('skn');

Collection<?> authorities = authentication.getAuthorities(principalObject);

用例是我需要通过REST API调用来获取用户的会话详细信息。

1 个答案:

答案 0 :(得分:1)

Spring通过org.springframework.security.core.userdetails.UserDetailsService界面检索用户的权限。

您通常会向身份验证管理器提供UserDetailsS​​ervice实现bean,管理器将调用该接口以检索用户详细信息。

根据您配置服务的方式,应该可以将UserDetailsS​​ervice注入任何其他bean。此时,您可以简单地调用loadUserByUsername()来为用户检索UserDetails对象,然后在其上调用getAuhtorities()。