【发布时间】:2019-05-21 09:56:25
【问题描述】:
通过business-central(drools-workbench)认证后,用户没有授权。我在块中确认了 LDAP 搜索配置,并在授权块中使用了 properties 文件。
当 LDAP 关闭以进行身份验证并使用本地属性文件进行身份验证时,“属性”配置工作正常,但当 LDAP 为身份验证打开时,授权中断。这些文件位于具有正确权限的正确位置。这是在从这里构建的 docker 容器中:https://github.com/jboss-dockerfiles/drools
XML 看起来像这样:
<security-realm name="ApplicationRealm">
<authentication>
<local default-user="$local" skip-group-loading="false"/>
<ldap connection="ldap" base-dn="ou=Users,ou=XXXXXXX,dc=XX,dc=XXXXX">
<username-filter attribute="sAMAccountName"/>
</ldap>
</authentication>
<authorization>
<properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
当我使用properties 文件进行身份验证和授权时,我希望用户具有管理员访问权限。开启 ldap 进行身份验证时,我确实收到了一个奇怪的错误:
09:06:27,486 错误
[org.uberfire.ext.security.management.BackendUserSystemManager] (默认任务 1)UsersManagementService 初始化失败:
java.lang.RuntimeException:找不到用户的属性文件 './standalone/configuration/application-users.properties'.
这似乎很明显,但不是因为文件存在并且其中包含用户等,正确的权限。
【问题讨论】:
-
我认为您还需要将授权设置更改为 ldap 以解决此问题
-
是的,你可能是对的,从文档中我认为我可以混合它们。我已经尝试了来自 ldap 的组搜索的几种不同排列,但它根本没有让我登录,我将继续尝试让它工作。非常感谢您的评论。