java - 为 Java EE 6 中的调度程序授予安全权限

标签 java security jakarta-ee web-applications jboss

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

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

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

整个安全框架运行完美,如果敢说的话甚至是太好了......

问题

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

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

问题

  • 有没有办法以编程方式向包含调度程序的 Bean 授予安全权限?

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

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

最佳答案

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

关于java - 为 Java EE 6 中的调度程序授予安全权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14683914/

相关文章:

java - 无法使用java运行命令提示符

java - TomEE 抛出 IndexOutOfBoundsException

PHP - MySQL 安全问题?

go - 如何为 GRPC 服务设置 Strict-Transport-Header

java - 匹配的通配符是严格的,但找不到元素 'mvc:annotation-driven' 的声明。标准包装器.Throwable

java - 从ejml中的N x M矩阵减去1 x M矩阵

java - 使用 servlet 3.0 的 JBoss 6 session 安全特性的问题

java - 无法连接到数据库

java - 为什么 session 对象被改变(JSP,servlet)?

java - 如何为我们的系统提供API