首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wildfly 26 elytron安全域配置不起作用

Wildfly 26 elytron安全域配置不起作用
EN

Stack Overflow用户
提问于 2022-02-23 21:40:26
回答 2查看 1.9K关注 0票数 1

我正在尝试将一个应用程序迁移到通配符26,并且我试图使用elytron来保护应用程序。

我使用jboss成功地运行了这个命令

代码语言:javascript
复制
/subsystem=elytron/jdbc-realm=myapp-security-realm:add(principal-query=[{sql="select clave from admin.usuario where usuario = ?", data-source="SISMedicalDS", simple-digest-mapper={algorithm=simple-digest-sha-256,password-index=1}},{sql="select r.nombre, 'Roles' from admin.rol r join admin.perfil p on r.id = p.rol_id join admin.usuario u on u.id = p.usuario_id where u.usuario = ?", data-source="SISMedicalDS", attribute-mapping=[{index=1, to=roles}]}])

/subsystem=elytron/security-domain=myapp-security-domain:add(realms=[{realm=myapp-security-realm}], default-realm=myapp-security-realm, permission-mapper=default-permission-mapper)

/subsystem=elytron/http-authentication-factory=myapp-security-http:add(http-server-mechanism-factory=global, security-domain=myapp-security-domain, mechanism-configurations=[{mechanism-name=FORM}])

/subsystem=undertow/application-security-domain=myapp-application-security-domain:add(http-authentication-factory=myapp-security-http)

我还将jboss-web.xml和web.xml文件更改为建议的配置。

jboss-web.xml

代码语言:javascript
复制
<!DOCTYPE jboss-web>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/schema/jbossas/jboss-web_13_0.xsd"
               version="13.0">
    <security-domain>nmedical-application-security-domain</security-domain>
</jboss-web>

web.xml (仅限登录配置)

代码语言:javascript
复制
<login-config>
        <auth-method>FORM</auth-method>
        <realm-name>nmedical-application-security-domain</realm-name>       
        <form-login-config>
            <form-login-page>/login.jsp</form-login-page>
            <form-error-page>/login.jsp?error=true</form-error-page>
        </form-login-config>
    </login-config>

当我试图在通配符26服务器上部署应用程序时,我总是会收到以下错误

代码语言:javascript
复制
"WFLYCTL0412: Required services that are not installed:" => ["jboss.security.security-domain.myapp-application-security-domain"]

我已经检查了服务器控制台,在web (下面)子系统下,我可以看到myapp应用程序安全域的存在,所以我真的不知道问题出在哪里。

感谢你的任何帮助

EN

回答 2

Stack Overflow用户

发布于 2022-04-12 15:31:28

名称空间jboss.security.security-域与遗留安全性相关,而不是Elytron。某些资源中可能没有启用Elytron,而且该资源将myapp-application-security-domain作为遗留安全域引用,并引发错误。

票数 1
EN

Stack Overflow用户

发布于 2022-04-14 17:37:38

我终于让它发挥作用了,多亏了diavil的回应和这篇文章:

如何配置Elytron

我最后所做的是在ejb3和下面两个子系统中配置名为other的安全配置;它不是我非常喜欢的解决方案,但它就是它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71244362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档