当前位置: 首页 > 知识库问答 >
问题:

Wildfly安全子系统:从Legacy迁移到Elytron,安全域找不到

阮星火
2023-03-14

直到现在(遗留),身份验证工作所需的全部工作就是在subsystems->Security中创建一个具有正确名称的安全域(“referencesapplicationdomain”)。

我的web.xml:

<web-app ..>
    ...
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>referencesApplicationDomain</realm-name>
    </login-config>
    <security-role>
        <role-name>authenticated</role-name>
    </security-role>
    <security-role>
        <role-name>anonymous</role-name>
    </security-role>
    <security-constraint>
        <web-resource-collection>
            ....
        </web-resource-collection>
    </security-constraint>
        <auth-constraint>
            <role-name>authenticated</role-name>
        </auth-constraint>
    </security-constraint>
...
</web-app>

我的jboss-web.xml:

<jboss-web ...>
    <deny-uncovered-http-methods>false</deny-uncovered-http-methods>
    <context-root>/references</context-root>
    <security-domain>referencesApplicationDomain</security-domain>
</jboss-web>

我遵循Wildfly Elytron文档使用JBoss-CLI创建了安全域和http工厂。

当我签入jboss-cli时,我看到安全域已经创建。

然而,当我尝试启动Wildfly服务器时,我得到以下错误:

"WFLYCTL0412: Required services that are not installed:" => [
        "jboss.security.security-domain.referencesApplicationDomain"
    ],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.deployment.unit.\"references-war-1.0.11-SNAPSHOT.war\".component.BranchService.CREATE is missing [jboss.security.security-domain.java:/jaas/referencesApplicationDomain]"
    ]

小提示:我想使用ApplicaationRealm,使用jboss配置文件中的用户和组。

共有1个答案

方建明
2023-03-14

结果是,Elytron并不需要这一点(事实上,它只用于遗留)。因此,解决方案只是从xml文件中删除以下内容:

web.xml

<web-app ..>
    ...
    <login-config>
        <auth-method>BASIC</auth-method>
        <!--<realm-name>referencesApplicationDomain</realm-name>-->
    </login-config>
</web-app>

jboss-web.xml:

<jboss-web ...>
    <deny-uncovered-http-methods>false</deny-uncovered-http-methods>
    <context-root>/references</context-root>
    <!--<security-domain>referencesApplicationDomain</security-domain>-->
</jboss-web>
 类似资料:
  • 我正在将一个JBoss5.1.0应用程序迁移到Wildfly8.1.0。在我的中,我有以下元素: 但是,schma不支持该元素,导致:

  • 我有一个http-connector级别的安全领域(ApplicationRealm ),还有一个用于远程出站连接的安全领域,名为MyRealm。当我设置jboss-ejb-client属性时,我设置了以下两个属性: remote.connection.default.username=${用户名} remote.connection.default.password=${密码} 这有助于我向远程

  • WildFly中安全域和安全域的主要区别是什么? 独立的。xml 和

  • Slitaz提供许多关于系统安全的信息。软件在进入稳定发行版之前会经过几个月的测试。在启动的时候,服务会由rc脚本运行。要想知道开机自启动的服务列表,你可以查阅/etc/rcS.conf中的RUN_DAEMONS变量: $ cat /etc/rcS.conf | grep RUN_DAEMONS 要显示当前进程及其PID、内存使用,你可以使用ps命令或者htop程序(需安装): $ ps $ ht

  • 我试图更加熟悉Wildfly的安全配置,但在理解standalone.xml等服务器端配置和web.xml和jboss-web.xml等应用程序端配置中的选项之间的关系时遇到了一些问题。 我对这个基于Wildfly servlet安全示例的配置有几个问题。我已经尝试了,它的工作,但有几件事对我来说不清楚。 null web.xml jboss-web.xml 这里有一个Wildfly示例的链接,我

  • 我正在尝试将wildfly身份验证迁移到elytron,并且除了一个问题之外,几乎所有内容都可以按照我想要的方式工作。 我们正在使用quartz调度程序运行作业。这些作业不受调用方原则的约束。使用 我能够将原则传播到以下EJB调用。这不再有效,原则始终是“匿名”。有没有一种方法可以对Elytron做同样的事情?