无法通过jboss-web.xml设置安全域

时间:2014-08-13 12:47:44

标签: authentication configuration jboss7.x

我们有一个应用程序正在部署为耳朵。在这个耳朵里,有一场需要使用特定安全域的战争。

为实现这一目标,我们使用以下安全性部分

配置了standalone-full-ha.xml
<security-domain name="ourDomain" cache-type="default">
    <authentication>
        <login-module code="blah.blah.OurDomain" flag="required" />
    </authentication>
</security-domain>

ear / war / WEB-INF / jboss-web.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
   <security-domain>Quark</security-domain>
   <disable-audit>true</disable-audit>
</jboss-web>

使用此配置,应用程序会尝试对JBoss中默认存在的“其他”域进行身份验证。

日志条目如下:

TRACE [org.jboss.security] (http-/127.0.0.1:8080-6) PBOX000224: End getAppConfigurationEntry(other), AuthInfo: AppConfigurationEntry[]:
[0]
LoginModule Class: org.jboss.as.security.remoting.RemotingLoginModule
ControlFlag: LoginModuleControlFlag: optional
Options:
name=password-stacking, value=useFirstPass
[1]
LoginModule Class: org.jboss.as.security.RealmDirectLoginModule
ControlFlag: LoginModuleControlFlag: required
Options:
name=password-stacking, value=useFirstPass

当试图将其定义为耳朵/ META-INF / jboss-app.xml中的耳朵的一部分时,这使整个事情变得非常惊人 - 因此认为不太可能成为解决此问题的方法。

但是,如果默认安全域更改为ourDomain,则一切都按预期工作。

这似乎不是什么大问题 - 但是,能够尽可能多地在应用程序中留下配置感觉更好。

任何解决这个问题的指示都会受到赞赏。

1 个答案:

答案 0 :(得分:5)

jboss-web.xml中指定的安全域名需要与JBoss配置中某个安全域的名称相匹配,在这种情况下,Web描述符指定Quark,而安全子系统定义的域名为{{1} }}

每当JBoss找不到您在ourDomain中请求的安全域时,它将回退到默认安全域,如果7.x被命名为jboss-web.xml