Apache NiFi对接LDAP时如何将User Search Filter参数转为大写
解决方案
针对NiFi对接LDAP时用户名大小写不匹配的问题,可按以下两种方案处理,优先选择第一种原生配置方案:
方案1:使用NiFi LDAP身份提供者原生大小写转换配置
你只需要在当前的login-identity-providers.xml的ldap-provider配置块中,新增Username Case Conversion属性即可,完整配置参考如下:
<property name="User Search Base">OU=Persons,DC=eu,DC=roddata,DC=corp</property> <property name="User Search Filter">(sAMAccountName={0})</property> <property name="Identity Strategy">USE_USERNAME</property> <!-- 新增以下配置,将输入的用户名统一转为大写后再传入搜索过滤器 --> <property name="Username Case Conversion">UPPER</property>
该配置可选值为NONE(默认不转换)、LOWER(转小写)、UPPER(转大写),设置为UPPER后,用户输入的用户名会先转为大写再替换{0}占位符,可直接匹配LDAP内的大写账号。
方案2:修改LDAP搜索过滤器适配大小写不敏感匹配
如果你的LDAP服务端对应属性已配置为大小写不敏感(比如Active Directory默认对sAMAccountName属性不区分大小写,OpenLDAP可自定义属性匹配规则),也可以保留原搜索过滤器配置,不需要额外调整输入参数的大小写,服务端会自动完成大小写模糊匹配。该方案通用性弱于方案1,仅适合特定LDAP配置场景。
内容的提问来源于stack exchange,提问作者Somplesi
相关产品推荐
相关产品推荐

