列出来自 Spring Security 的用户
Posted
技术标签:
【中文标题】列出来自 Spring Security 的用户【英文标题】:List users from Spring Security 【发布时间】:2014-11-18 21:43:12 【问题描述】:我已经设置了 Spring Security,以便它可以针对 Active Directory 进行身份验证。如何获取 @Controller 中所有用户的列表?
背景:我有一个控制器,我希望管理员能够将不同的用户分配到组中。我想提供一个她可以从中选择的用户列表,这应该是 AD 中经过过滤的用户列表。
干杯
尼克
【问题讨论】:
为什么这应该是 Spring Security 的责任?只需创建一个使用LdapTemplate
的存储库即可从 AD 中检索用户。
【参考方案1】:
在 Spring Security 中,您可以获得当前登录到系统的所有用户的列表。 通过在您的控制器中使用此代码。
@Autowired
private SessionRegistryImpl sessionRegistry;
列出主体 = sessionRegistry.getAllPrincipals();
【讨论】:
很有趣,但可能不是问题的答案。【参考方案2】:您需要从 AD 中检索它,spring security 不提供或存储用户列表,它使用 AD 并使用 AuthenticationManager 与 AD 集成或包含用户配置文件的 DB。
【讨论】:
以上是关于列出来自 Spring Security 的用户的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security:来自 UserDetailsService 的自定义异常消息
如何在spring security中为来自两个不同表的不同用户配置身份验证?
Spring Security - 来自 JWT 的自定义主体
如何使用 Spring Security 获取当前用户的角色
使用来自 Spring Security 的密码来验证 REST 调用
来自 UI 的 Rest Spring 身份验证调用:在请求正文中传递用户名和密码,而不是在 url 参数中,以使用 Spring Security 进行身份验证