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

dro*_*.ah 5 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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

使用此配置,应用程序会尝试对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
Run Code Online (Sandbox Code Playgroud)

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

ourDomain但是,如果默认安全域已更改为,则它将按预期工作.

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

任何解决此问题的指针都表示赞赏.

ynt*_*ual 5

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

每当JBoss找不到您在其中请求的安全域时jboss-web.xml,它将回退到默认安全域,在7.x的情况下命名other.