使用 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/