如何在web.xml中设置侦听器的run-as角色而不是servlet?

时间:2014-04-10 07:28:52

标签: java security servlets weblogic servlet-listeners

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

有没有办法在没有技巧的情况下做到这一点?我唯一的想法是调用映射到特殊servlet的URL和set run-as部分,它将对DB进行记录。或者我可以在一些servlet中创建TimerTask,它将检查已完成会话的List并执行记录,但它比servlet调用更糟糕。

我希望有更平常和直接的解决方案。

1 个答案:

答案 0 :(得分:0)

似乎只有解决方案存在。

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

不幸的是,由于NDA,我无法提供代码示例。

祝你好运!