ユーザーにアプリケーション ロール (メタ [ldap] で定義) を付与できるセルフ サービスを作成しています。メタの構造は均一ではありません。次のようになります。
o=meta
ou=Firm
ou=AppRoles
ou=GitLab
cn=Admin
cn=User
ou=SAP
ou=SAPCRT
cn=Admin
cn=User
ou=SAPLST
ou=NW
cn=Admin
cn=User
ou=ST
cn=Admin
cn=User
など...ご覧のとおり、cn (Approle) は常に同じレベルにあるとは限りません。
これは私がこれまでに持っているコードです。GitLab Admin と GitLab User のような 'ou's が見つかります。しかし、Gitlab 管理者、Gitlab ユーザー、SAP/SAPCRT 管理者、SAP/SAPCRT ユーザー、SAP/SAPLST/NW 管理者などのリストを受け取る必要があります。
base = 'ou=AppRoles,ou=Firm,o=META'
filter = Net::LDAP::Filter.begins('ou', query)
Net::LDAP を再帰的にフィルタリング/検索するように設定するにはどうすればよいですか?