【问题标题】:Deployment error when defining a security-domain定义安全域时的部署错误
【发布时间】:2015-02-18 08:22:18
【问题描述】:

我正在编写 JavaEE7 教程;目前我正在尝试使用wildfly 8.2.0 建立一个安全域。这些是我使用的设置:

jboss-web.xml:

<jboss-web>
<security-domain>my-aktion</security-domain>
</jboss-web>

standalone.xml 中处理这个安全域的部分:

<subsystem xmlns="urn:jboss:domain:security:1.2">
    <security-domains>              
        <security-domain name="other" cache-type="default">
            <authentication>
                <login-module code="Remoting" flag="optional">
                    <module-option name="password-stacking" value="useFirstPass"/>
                </login-module>
                <login-module code="RealmDirect" flag="required">
                    <module-option name="password-stacking" value="useFirstPass"/>
                </login-module>
            </authentication>
        </security-domain>
        <security-domain name="jboss-web-policy" cache-type="default">
            <authorization>
                <policy-module code="Delegating" flag="required"/>
            </authorization>
        </security-domain>
        <security-domain name="jboss-ejb-policy" cache-type="default">
            <authorization>
                <policy-module code="Delegating" flag="required"/>
            </authorization>
        </security-domain>
        <security-domain name="my-aktion" cache-type="default">
            <authentication>
                <login-module code="Database" flag="required">
                    <module-option name="dsJndiName" value="java:jboss/datasources/MyAktionDS"/>
                    <module-option name="principalsQuery" value="select password from organizer where email=?"/>
                    <module-option name="rolesQuery" value="select 'Organizer','Roles' from organizer where email=?"/>
                    <module-option name="hashAlgorithm" value="SHA-256" />
                    <module-option name="hashEncoding" value="hex" />
                    <module-option name="hashCharset" value="UTF-8" />
                </login-module>
            </authentication>
        </security-domain>
    </security-domains>
</subsystem>

这就是我尝试部署时遇到的错误:

> "JBAS014771: Services with missing/unavailable dependencies" => [
>     "jboss.deployment.unit.\"my-aktion.war\".component.DonationServiceBean.CREATE
> is missing [jboss.security.security-domain.my-aktion]",
>     "jboss.deployment.unit.\"my-aktion.war\".component.CampaignServiceBean.CREATE
> is missing [jboss.security.security-domain.my-aktion]",
>     "jboss.undertow.deployment.default-server.default-host./my-aktion.UndertowDeploymentInfoService
> is missing [jboss.security.security-domain.my-aktion]" ]}

我无法从这条错误消息中得出正面或反面,但这似乎是我在 my-aktion 安全域中做错了什么,也许有人有提示。无论如何,我尝试删除 jboss-web.xml,应用程序部署良好,但我无法登录,可能是因为处理登录的查询位于“my-aktion”安全域中。这里可能是新手错误,但我找不到它。

编辑:顺便说一句,以防万一:错误中提到的两个 Bean 被注释为 @Stateless 并且我没有 beans.xml。

EDIT2:我解决了这个问题,但我仍然不知道是什么原因造成的。解决方案:我删除了 myaktion-ds.xml,其中包含我的数据源的注册,并将其内容移动到我的standalone.xml 中的标签中。现在一切正常,尽管它为什么会这样超出了我的范围。 我会把这个问题留在这里几天,以防有人能启发我。

【问题讨论】:

    标签: java-ee-7 wildfly-8


    【解决方案1】:

    我正在编写相同的教程并且遇到了相同的问题。我花了好几个小时,但我终于找到了一个适合我的解决方案:

    似乎我的 IDE (netbeans) 触发的部署过程是由standalone-full.xml 而不是standalone.xml 配置的。 编辑这两个 xml 文件后,一切对我来说都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 2016-11-04
      • 2019-12-08
      • 2015-02-23
      相关资源
      最近更新 更多