LDAP 身份验证 Spring Cloud Data Flow 1.7.0 快照

LDAP authentication Spring Cloud Data Flow 1.7.0 Snapshot

同学们好。

我正在尝试在我的 SCDF 中实施 LDAP:

#!/usr/bin/env bash
export spring_datasource_url=jdbc:postgresql://xx.xxx.xx.xx:5432/data_flow
export spring_datasource_username=data_flow_main
export spring_datasource_password=secret
export spring_datasource_driver_class_name=org.postgresql.Driver

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \
-Djavax.net.debug=ssl:handshake:verbose \
-jar /mnt/store/viewing-maker/base-operations/scdf/spring-cloud-dataflow-server-local-1.7.0.BUILD-SNAPSHOT.jar \
--spring.cloud.dataflow.task.maximum-concurrent-tasks=300 \
--security.basic.enabled=true \
--spring.cloud.dataflow.security.authentication.ldap.enabled=true \
--spring.cloud.dataflow.security.authentication.ldap.url="ldap://example.com:389" \
--spring.cloud.dataflow.security.authentication.ldap.managerDn="CN=123,OU=Служебные пользователи,DC=example,DC=com" \
--spring.cloud.dataflow.security.authentication.ldap.managerPassword="secret" \
--spring.cloud.dataflow.security.authentication.ldap.userSearchBase="OU=MyCity" \
--spring.cloud.dataflow.security.authentication.ldap.userSearchFilter="sAMAccountName={0}" \
--spring.cloud.dataflow.security.authentication.ldap.groupSearchBase="OU=MyCity" \
--spring.cloud.dataflow.security.authentication.ldap.groupSearchFilter="member={0}" \
--spring.cloud.dataflow.security.authentication.ldap.roleMappings.ROLE_MANAGE="ADgroup1" \
--spring.cloud.dataflow.security.authentication.ldap.roleMappings.ROLE_VIEW="ADGroup2" \
--spring.cloud.dataflow.security.authentication.ldap.roleMappings.ROLE_CREATE="AdGroup3" \

但是没用。

我有另外一个项目,也是一样的配置。我通过 REST 进行身份验证,一切正常。我的 LDAP 服务器 returns 正常。为了澄清,在正确的应用程序中,我还使用:

DefaultLdapAuthoritiesPopulator populator = new DefaultLdapAuthoritiesPopulator(ldapContext, groupSearchBase);
populator.setSearchSubtree(true);
populator.setRolePrefix(rolePrefix);
populator.setGroupSearchFilter(groupSearchFilter);

问题出在 ANSI 而不是 utf-8。系统无法识别某些西里尔符号。