java - Spring Security 通过 session ID 获取登录用户

标签 java spring spring-security jsessionid

最近我试图通过 JSESSIONID 和 Spring Security 获取现有的登录用户。跟踪源代码后,我仍然找不到执行此操作的方法。是否可以? Spring Security 在哪里存储 JSESSIONID 和 AuthUser 之间的映射?

任何帮助将不胜感激。

最佳答案

像这样的东西:

@RequestMapping(value = "/userAndSession/{providedSessionId}", method = RequestMethod.GET)
public String getUserAndSessionId(UsernamePasswordAuthenticationToken principal,
            HttpServletRequest httpServletRequest, @PathVariable("providedSessionId") String sessionID) {
    // Session ID
    String sessionId = httpServletRequest.getRequestedSessionId();

    if(sessionId.equals(providedSessionId)) {
        // Username 
        String name = principal.getName();
    }

}

关于java - Spring Security 通过 session ID 获取登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32496097/

相关文章:

java - 如何更改禁用的 JComboBox 上(显示的)所选项目?

java - 如何通过 USB 从门户网站访问 Android 中安装的 Sqlite DB

java - Spring启动抛出java.io.EOFException : No content to map to Object due to end of input

java - GSON - 日期格式

java - 什么进入 Spring Security 的 ACL_OBJECT_IDENTITY 表?

JAVA - hibernate - 在 DAO 中创建新查询

java - 相当于扩展HttpServlet

web-services - 如何通过安全层访问Grails中的Web服务

grails - Spring Security Core插件的默认登录页面在哪里?

java - 如何将 Spring security 与自定义 java 类/自定义 spring 框架的类一起使用?