Wildfly 11 Elytron-属性基于文件的身份验证失败,未安装所需的服务



我有一个Wildfly 11的新实例,我正试图在Elytron中设置基于属性文件的身份验证。我正在使用Standalone-full.xml,并在IDE之外手动部署应用程序。

https://docs.jboss.org/author/display/WFLY/Properties+文件+基于身份验证+迁移

我创建了名值对的myApp用户和myApp角色属性文件,其中包括#$REALM_name=myAppPropRealm$

我运行了以下CLI命令来创建

创建道具领域

/subsystem=elytron/properties realm=myAppPropRealm:add(groups attribute=groups,groups properties={path=myApp roles.properties,relative to=jboss.server.config.dir},users properties={path=myApp users.properties,related to=jbos.server.config.dir,plain text=true}(

配置安全域

/subsystem=elytron/security domain=myAppSecurityDomain:add(领域=〔{领域=myAppPropRealm,角色解码器=组到角色}〕,默认领域=myApp PropRealm、权限映射器=默认权限映射器(

配置http身份验证工厂

/子系统=elytron/http身份验证工厂=myApp http auth:add(http服务器机制工厂=global,安全域=myAppSecurityDomain,机制配置=[{机制名称=BASIC,机制领域配置=[{领域名称=myApp_ApplicationDomain}]}](

在Undertow中配置应用程序安全域

/子系统=understream/application安全域=myApp_ApplicationDomain:add(http身份验证工厂=myApp http auth(

JBoss-web.xml</jboss-web><security-domain>myApp_ApplicationDomain</security-domain></jboss-web>

当我的应用程序尝试部署时,我收到以下错误

2018-11-29 09:06:55695错误[org.jboss.as.controller.management操作](控制器引导线程(WFLYCTL0013:操作("deploy"(失败-地址:([("depploy"=>"MyApplication ws.war"(](-故障描述:{"WFLYCTL0412:未安装的必需服务:"=>["jboss.security.security domain.myApp_ApplicationDomain"],"WFLYCTL0180:缺少/不可用依赖项的服务"=>[

我怀疑这是因为我没有定义"myApp_ApplicationDomain",但这正是我陷入困境的地方。我运行哪些命令来添加/引用myApp_ApplicationDomain?

Wildfly出于某种原因正在争夺遗留安全域jboss.security.security-domain.myApp_ApplicationDomain。但您似乎已经正确地在下面声明了myApp_ApplicationDomain。很可能您在underflow子系统之外的某个地方使用myApp_ApplicationDomain。

最新更新