java - 在 spring security 中使用 session id 检索身份验证对象

标签 java spring spring-mvc spring-security

使用 SessionRegistry 对象,我检索了用户所有 Activity session 的 SessionInformation。

现在,我想检查这些 session 的权限。为此,我需要身份验证对象。

spring security有办法吗

我的代码:

List<SessionInformation> sessionInformationList =  sessionRegistry.getAllSessions( user, false);
SessionInformation sessionInformation = sessionRegistry.getSessionInformation(lastSessionId);

//Now I need Authentication Object, any idea

我这样做是为了检索不同 session ID 的用户角色

最佳答案

在我们的 Stormpath Spring Security integration我们在身份验证工作流程中对您需要的内容进行了编码。一旦用户通过了正确的身份验证,Granted Authorites生成并应用于 Authentication正在检索的对象。

我们将该信息封装在一个名为 StormpathUserDetails 的对象中.你可以看看this piece of code .

然后您的代码可以通过以下方式检索该信息:Collection<? extends GrantedAuthority> grantedAuthorities = ((StormpathUserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getAuthorities();

希望这有助于作为您可以做什么的示例。

关于java - 在 spring security 中使用 session id 检索身份验证对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773334/

相关文章:

java - 方法代码...超出了 65535 字节的限制

java - Spring Data JPA 自定义 findBy 不起作用

java - 使用 org.codehaus.jackson 反序列化 JSON 字符串

spring - Hibernate 以多对多关系创建两个表

java - Spring + GWT 项目 - 对每个用户操作执行处理程序

java - Spring Security - 启用 HTTPS 时登录不起作用

spring - 如何使用 SpringMVC @Valid 验证 POST 中的字段且仅验证 PUT 中的非空字段

java - 使用 Apache Commons 卡尔曼滤波器进行 2D 定位估计

java - Java 中的锁定——乐观与悲观

java - 如何将第一组出现与正则表达式匹配?