2

我正在 Java EE 6 中构建一个 Web 应用程序,该应用程序部署到 JBoss AS 7.1

我在 bean 级别(使用@RolesAllowed({ "useradmin", "usernormal" })注释)和前端级别(保护 web.xml 中的 xthtm 页面)使用安全性。

身份验证在 JBoss 中完成,使用其用户管理或 LDAP(只是standalone.xml 中的配置更改)。

整个安全框架运行良好,甚至可以说是太好了……

问题

我还有一个使用 Java EE 的调度程序TimerService。它可以接受不同类型的作业,可以稍后安排(调度程序的原始功能......)。

当调度程序需要运行使用某些业务逻辑 bean 的作业时,我开始遇到问题,这些业务逻辑 bean 使用@RolesAllowed注释进行保护。在这种情况下,安全框架会完成它的工作并拒绝访问调度程序。

问题

  • 有没有办法以编程方式为包含调度程序的 bean 提供安全特权?

  • 是否可以为调度程序伪造一个 http 会话?

  • 如果是这样,存储登录名/密码的最佳做法是什么?我想在静态变量中硬编码它们会很糟糕......

4

1 回答 1

2

看起来您正在寻找类似@RunAs 检查本教程,看看它是否对您有帮助:http: //docs.oracle.com/cd/E19226-01/820-7627/bnbyr/index.html

于 2013-02-04T09:40:12.433 回答