我正在使用JBoss AS7 + JSF 2.1
我正在尝试使用数据库登录模块对我的Web应用程序中特定资源上的用户进行身份验证。在standalone.xml中有3个安全域:“other”,“jboss-web-policy”和“jboss-ejb-policy”。
应该我将我的数据库登录模块放在“其他”安全域中? 或我应该定义一个新的自定义安全域并将我的数据库登录模块放入其中?
无论哪种方式,我如何告诉JBoss它应该为我的应用程序使用哪个安全域/登录模块?
提前致谢。
答案 0 :(得分:4)
您提到的两个选项是有效的,但从我的角度来看,最好为您的应用程序创建一个新的安全域(更清楚)。
另一方面,在回答第二个问题时,您需要在应用程序元文件中指定应用程序的安全域(不是在jboss中,而是在应用程序中)。
如果您有一个war文件,您需要在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>