[ 
https://issues.apache.org/jira/browse/OPENMEETINGS-964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14032229#comment-14032229
 ] 

Thibault Le Meur commented on OPENMEETINGS-964:
-----------------------------------------------

I would design the LDAP conenctor this way:
1- Have the params for the LDAP directory
   - URL of the directory (host and ports)
   - LDAP version
   - optionnal LDAP encryption (SSL [for ldaps:// url], or TLS for ldap:// + 
TLS)
   - base DN for searching users
   - let the OM admin give a mapping between LDAP attributes and openmeetings 
attributes (mail => email, ou => organization)
   * implement "SIMPLE authentication" ONLY for now as it should cover most  
cases (if not all, because there might be failback to simple auth in SASL 
directories).
2- have a parameter to switch between SIMPLEBIND and SEARCHANDBIND
3- SIMPLEBIND case:
   - let the OM admin give a userDN format string such as 
"uid=<LOGINFIELD>,ou=people,dc=myorg,dc=org"
   - (optionnally give an LDAP filter such as 
"(&(accountStatus=Enabled)(objectclass=XXX))" that could be used to refine 
access to the application)
4- SEARCHANDBIND case:
   - a user DN filter format string than can contain any extra filter 
expressions such as "(&(uid=<LOGINFIELD>)(accountStatus=Enabled))"
   - "application account DN" and password params. If they are empty, then use 
anonymous bind for the userDN search


> LDAP login should be refactored
> -------------------------------
>
>                 Key: OPENMEETINGS-964
>                 URL: https://issues.apache.org/jira/browse/OPENMEETINGS-964
>             Project: Openmeetings
>          Issue Type: Task
>          Components: LDAP
>    Affects Versions: 3.0.0
>            Reporter: Maxim Solodovnik
>            Assignee: Maxim Solodovnik
>             Fix For: 3.1.0
>
>
> Detailed description is here OPENMEETINGS-943
> The correct way to handle this:
> First:
> if bind_dn and bind_pwd are set, first conect to the LDAP directory with 
> these credentials
> if empty, then just use an nonymous bind to the directory
> Then
> if OM is set to AuthLDAP=NONE, just use the connection to retrieve 
> informations from the directory
> -if OM is set to AuthLDAP=OPENLDAP (should be SEARCHANDBIND actually), search 
> for the userDN and then perform a bind to the directory with userDN/provided 
> PWD
> if OM is set to AuthLDAP=SIMPLEBIND, construct the userDN from the username, 
> the user attribute (for instance cn or uid), and the userBase, and then 
> perform a bind with userDN and provided PWD
> if OM is set to AuthLDAP=SIMPLE (to be backward compliant), let's try a bind 
> with the provided user/password



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to