-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Description
| Q | A |
|---|---|
| Bug report? | no |
| Feature request? | yes |
| BC Break report? | no |
| RFC? | no |
| Symfony version | 3.2.0 |
I am implementing LDAP authentication using form_ldap_bind which supports the search_dn configuration option to dynamically generate the DN to use for the ldap_bind() check.
However in my case the DN's differentiate on more than the username for different users:
uid=foo,ou=External,ou=Employees,dc=example,dc=com vs. uid=bar,ou=Internal,ou=Employees,dc=example,dc=com
The LdapUserProvider in turn supports searching for users but then requires a password attribute to validate the authentication which isn't available in my case. LdapBindAuthenticationProvider also does not support a filter parameter (which might be useful here, but I am not an LDAP expert).
I wonder if we need another auth provider which is more flexible to find the relevant DN from the LDAP server before attempting to validate the password via ldap_bind() along the lines of:
ldapsearch -d 1 -w 'XXX' -H ldaps://example.com:636 -D "uid=sys,ou=Accounts,dc=example,dc=com" -b 'dc=example,dc=com' '(uid=foo)' dn