4

我正在使用 JBoss AS7 + JSF 2.1

我正在尝试使用数据库登录模块对我的 Web 应用程序中特定资源的用户进行身份验证。在standalone.xml 中有3 个安全域:“other”、“jboss-web-policy”和“jboss-ejb-policy”。

我应该将我的数据库登录模块放在“其他”安全域中吗? 或者我应该定义一个新的自定义安全域并将我的数据库登录模块放入其中?

无论哪种方式,我将如何告诉 JBoss 它应该为我的应用程序使用哪个安全域/登录模块?

提前致谢。

4

1 回答 1

4

您提到的两个选项是有效的,但从我的角度来看,最好为您的应用程序创建一个新的安全域(更清楚)。

另一方面,回答您的第二个问题,您必须在应用程序元文件中为您的应用程序指定安全域(不是在 jboss 中,而是在您的应用程序中)。

如果你有一个战争文件,你必须在文件 WEB-INF/jboss-web.xml 中设置它,它看起来类似于:

<jboss-web> 
    <security-domain>java:/jaas/your-domain</security-domain> 
</jboss-web>

另一方面,如果你有一个 ejb-jar 模块,文件 META-INF/jboss.xml 看起来像:

<jboss>
    <security-domain>java:/jaas/your-domain</security-domain>
</jboss>

如果你有一个 ear 文件,文件 META-INF/jboss-app.xml 看起来类似于:

<jboss-app>
    <security-domain>java:/jaas/your-domain</security-domain>
</jboss-app>
于 2013-02-26T14:09:06.880 回答