java - 如何在 hibernate 事件监听器中获取当前登录的用户

标签 java spring hibernate tomcat servlets

我正在使用 hibernate 事件监听器来记录上次修改时间。我使用自定义集成器来注册事件监听器。我通过在 META-INF 中创建一个具有特定名称的文件来注册我的集成器,如说明 here .我还想记录当前登录用户的用户名。我假设信息将出现在 HttpSession 中。但是在MergeEventListener我无权访问 HttpSession。我如何获取 HttpSession 或是否有任何其他方法来获取当前登录的用户?

最佳答案

我见过的最常见的解决方案是使用 servlet-filter 在请求进入时将信息放入 ThreadLocal 中,这样您就可以从静态上下文中以任意方式访问它指出您需要它的堆栈。

关于java - 如何在 hibernate 事件监听器中获取当前登录的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992623/

相关文章:

java - 架构和项目组织

Java Swing 双击+拖动以选择整个单词

java - 获取 jar 内文件夹内的检索文件

java - 一键下载多个文件 primefaces

java - Spring Boot、安全登录无限查询

java - 没有找到类型匹配的 bean ... 来进行依赖...预计至少有 1 个有资格作为 Autowiring 候选者的 bean

java - 用JAVA中的递归解释最大公约数

java - 在原始接收线程之外访问 HttpSession

linux - 在 Catalina.out 中控制 SQL 日志记录级别

java - 无法在eclipse中导入hibernate配置文件