列出来自 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:来自 UserDetailsS​​ervice 的自定义异常消息

如何在spring security中为来自两个不同表的不同用户配置身份验证?

Spring Security - 来自 JWT 的自定义主体

如何使用 Spring Security 获取当前用户的角色

使用来自 Spring Security 的密码来验证 REST 调用

来自 UI 的 Rest Spring 身份验证调用:在请求正文中传递用户名和密码,而不是在 url 参数中,以使用 Spring Security 进行身份验证