5.12.2. 配置 Java 容器授权合约(JACC)的安全性
jboss-web.xml
来包含正确的参数。
要为安全域添加 JACC 支持,请添加 JACC
授权策略到安全域的授权栈里,并设置 required
标记。下面是一个带有 JACC 支持的安全域的例子。然而,安全域是在管理控制台或 CLI 里,而不是直接在 XML 里配置的。
jboss-web.xml
位于你的部署的 META-INF/
或 WEB-INF/
目录里,且包含用 web 容器的覆盖选项和其他的 JBoss 专有的配置。要使用启用了 JACC 的安全域,你需要包括 <security-domain>
元素并设置 <use-jboss-authorization>
元素为 true
。下面的应用程序是用上面的 JACC 安全域进行正确配置的。
配置 EJB 使用安全域并使用 JACC 对于不同的 Web 应用程序是不同的。对于 EJB,你可以在 ejb-jar.xml
里为一个方法或方法组声明 method permissions。在 <ejb-jar>
元素里,任何子 <method-permission>
元素都包含关于 JACC 角色的信息。详情请参考示例配置。EJBMethodPermission
类是 Java EE 6 API 的一部分,且 http://docs.oracle.com/javaee/6/api/javax/security/jacc/EJBMethodPermission.html 里有相关的文档。
例 5.20. EJB 里的 JACC 方法权限示例
jboss-ejb3.xml
描述符里的 <security>
子元素里声明。除了安全域以外,你也可以指定 run-as principal,它可以修改运行 EJB 的 principal。
例 5.21. EJB 里的安全域声明示例