You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置WSO2 IS 5.10支持姓氏为Service的AD用户认证?

解决WSO2 IS 5.10无法搜索到姓氏为"Service"的AD用户问题

排查与解决步骤:

  1. 检查AD用户存储的搜索过滤器配置

    • 登录WSO2 IS管理控制台,进入身份 > 用户存储 > 你的AD用户存储
    • 查看「用户搜索过滤器」字段,默认配置可能未明确包含姓氏(sn)的匹配逻辑。建议修改为同时匹配用户名和姓氏的过滤器:
      (&(objectClass=user)(|(sAMAccountName=*?*)(sn=*?*))(!(objectClass=computer)))
      
    • 保存配置后,重启WSO2 IS服务,重新尝试搜索用户。
  2. 禁用或调整WSO2的敏感关键词过滤
    WSO2 IS可能默认对部分关键词(如"Service")做了特殊拦截,需修改部署配置:

    • 打开<IS_HOME>/repository/conf/deployment.toml,添加以下配置:
      [user_store]
      enable_case_insensitive_search = true
      
      [ldap.user_store]
      search_filter_mode = "OR"
      
    • 若上述配置无效,可进一步检查<IS_HOME>/repository/conf/identity/identity.xml中的<UserSearchFilter>节点,确保没有针对sn属性的排除规则。
  3. 验证AD属性映射与搜索范围

    • 确认AD用户存储的「属性映射」中,AD的sn字段正确映射到WSO2的http://wso2.org/claims/lastname(姓氏)属性,避免属性读取异常。
    • 检查「用户搜索基础DN」是否包含这两位用户所在的OU,确保搜索范围覆盖目标用户。
  4. 通过LDAP日志排查实际查询语句

    • 开启LDAP调试日志,修改<IS_HOME>/repository/conf/log4j2.properties:
      logger.ldap.name = org.wso2.carbon.user.core.ldap
      logger.ldap.level = DEBUG
      
    • 重启服务后执行用户搜索,查看<IS_HOME>/repository/logs/wso2carbon.log中的LDAP查询语句,确认是否正确发送了sn=Service的过滤条件,排查是否存在查询逻辑被篡改的情况。
  5. 清除用户搜索缓存

    • 进入管理控制台系统 > 缓存管理,找到「UserCache」并清除缓存,避免旧的搜索结果干扰。

额外验证

使用LDAP客户端(如Apache Directory Studio)直接连接AD,执行查询(&(objectClass=user)(sn=Service)),确认AD本身能返回目标用户,排除AD端的问题。

内容的提问来源于stack exchange,提问作者Miguel GW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:15:00