【问题标题】:How to set run-as role for listener instead of servlet in web.xml?如何在 web.xml 中为侦听器而不是 servlet 设置 run-as 角色?
【发布时间】:2014-05-23 18:27:50
【问题描述】:

我有带有数据源的 Weblogic,它只能由具有特殊角色的用户使用。这就是为什么我必须为我的 webapp 中需要使用 DB 的每个 servlet 设置 run-as 角色。我还需要 HttpSessionListener 来检测被破坏的会话,并且这个监听器应该在数据库中记录完成的会话。但是按照规范,我无法在 web.xml 中为此侦听器设置 run-as 角色。

有没有什么方法可以做到这一点?我唯一的想法是使用 set run-as 部分调用映射到特殊 servlet 的 URL,该部分将对 DB 进行记录。或者我可以在一些 servlet 中创建 TimerTask 来检查已完成会话的列表并进行记录,但它比 servlet 调用更糟糕。

我希望存在更常见和直接的解决方案。

【问题讨论】:

  • 我们遇到了完全相同的问题。您找到解决方案或变通方法了吗?

标签: java security servlets weblogic servlet-listeners


【解决方案1】:

似乎只有解决方案存在。

如果在 Spring Security 身份验证过程中必须使用 DB,则需要编写切面来拦截身份验证管理器中对 DB 相关方法的所有调用。这方面应该使用 weblogic 原生 API 为工作线程设置必要的凭据。它正在工作!

很遗憾,由于保密协议,我无法提供代码示例。

祝你好运!

【讨论】:

    猜你喜欢
    • 2019-02-16
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2010-09-15
    • 2011-08-16
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    相关资源
    最近更新 更多