我有一个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。