The finalized working bit for Active Directory LDAP was:

# Working LDAP Auth
cas.authn.ldap[0].order=0
cas.authn.ldap[0].name=Active Directory
cas.authn.ldap[0].type=AD
cas.authn.ldap[0].ldapUrl=ldap://<DC FQDN>:389
cas.authn.ldap[0].validatePeriod=270
cas.authn.ldap[0].poolPassivator=NONE
cas.authn.ldap[0].searchFilter=sAMAccountName={user}
cas.authn.ldap[0].baseDn=OU=Staff,DC=...
cas.authn.ldap[0].subtreeSearch=true
cas.authn.ldap[0].type=AUTHENTICATED
cas.authn.ldap[0].bindDn=CN=casbind,CN=Users,DC=...
cas.authn.ldap[0].bindCredential=<password>
# Working LDAP Auth

:D

I even got Duo MFA working today. Thanks all!


On Tuesday, February 8, 2022 at 3:55:18 PM UTC-5 Felix Schumacher wrote:

> Are you sure, that you need to set dnFormat? If you have users in 
> different ou's, it will be difficult to use with a template as cn=%s,ou=... 
> and should not the dn be found by the searchFilter?
>
> Felix
> Am 08.02.22 um 19:13 schrieb Michael Santangelo:
>
> I changed my config to: 
>
> cas.authn.ldap[0].order=0
> cas.authn.ldap[0].name=Tech Active Directory
> cas.authn.ldap[0].type=AD
> cas.authn.ldap[0].ldapUrl=ldap://<hostname>:389
> cas.authn.ldap[0].validatePeriod=270
> cas.authn.ldap[0].poolPassivator=NONE
> cas.authn.ldap[0].searchFilter=sAMAccountName={user}
> cas.authn.ldap[0].baseDn=OU=Technology,OU=Staff,DC=CHS,DC=...
> cas.authn.ldap[0].dnFormat=CN=%s,OU=Technology,OU=Staff,DC=...
> cas.authn.ldap[0].type=AUTHENTICATED
> cas.authn.ldap[0].bindDn=CN=casbind,CN=Users,DC=...
> cas.authn.ldap[0].bindCredential=<a password>
>
> And now it's working for people in that OU... Time to see if I can expand 
> it to the entire Staff OU... 
>
> On Tuesday, February 8, 2022 at 11:03:31 AM UTC-5 Michael Santangelo wrote:
>
>> Hello all, 
>>
>> Forgive me for this, I'm brand new to CAS and I'm trying to get LDAP 
>> working.
>>
>> I built an Ubuntu VM and did initial setup by doing:
>>
>>    1. git clone https://github.com/apereo/cas-overlay-template
>>    2. I did some initial config changes in the cas.properties to get SSL 
>>    up and running 
>>    3. Ran sudo ./gradlew clean copyCasConfiguration build run 
>>    4. I can login using the casuser and the default password as 
>>    expected.  This part is all working fine. 
>>
>> So I tried adding LDAP support by:
>>
>>    1. Modify build.gradle by adding 
>>        implementation 
>>    "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}"
>>    to the dependencies section. 
>>    2. Modify cas.properties by adding:
>>    # Disable casuser
>>    cas.authn.accept.users=
>>    # LDAP Servers Authenticated
>>    cas.authn.ldap[0].ldapUrl=ldap://<ldap server ip>:389
>>    #cas.authn.ldap[0].usessl=false
>>    cas.authn.ldap[0].useStartTls=false
>>    cas.authn.ldap[0].type=AUTHENTICATED
>>    cas.authn.ldap[0].bindDn=cn=cas bind,CN=Users,DC=...
>>    cas.authn.ldap[0].bindCredential=<the password>
>>    # LDAP Servers Authenticated
>>    
>>    # Search For CAS User
>>    cas.authn.ldap[0].baseDn=OU=Technology,OU=Staff,DC=CHS,DC=...
>>    cas.authn.ldap[0].subtreeSearch=true
>>    #cas.authn.ldap[0].searchFilter=(&(objectClass=person)(uid={user}))
>>    #cas.authn.ldap[0].searchFilter=uid={user}
>>    cas.authn.ldap[0].searchFilter=sAMAaccountName={user}
>>    #cas.authn.ldap[0].principalAttributeList=cn,givenName,mail,sn
>>    # Search for CAS User 
>>    3. Ran sudo ./gradlew clean copyCasConfiguration build run 
>>
>> The page loads as usual.  I am unable to login as casuser, which is 
>> expected.  I cannot login with any domain credentials.
>>
>> In the log I get an error:
>> 2022-02-08 15:43:49,567 INFO 
>> [org.apereo.cas.authentication.DefaultAuthenticationManager] - 
>> <[LdapAuthenticationHandler] exception details: [Unable to resolve user dn 
>> for <a username>].>
>>
>> So I tried to verify that the server can connect via LDAP:
>>
>> ldapsearch -H ldap://<ldap server ip>:389 -D "CN=cas 
>> bind,CN=Users,DC=..." -W samaccountname=<a username> -b 
>> "OU=Technology,OU=Staff,DC=..." -v
>>
>> And I receive a valid result.
>>
>> I'm not sure where the disconnect is, or what else I should search for.  
>> Any tips or suggestions that you could provide would be helpful.
>>
>> I'm attaching the output of Task :run.
>>
> -- 
>
> - Website: https://apereo.github.io/cas
> - Gitter Chatroom: https://gitter.im/apereo/cas
> - List Guidelines: https://goo.gl/1VRrw7
> - Contributions: https://goo.gl/mh7qDG
> --- 
> You received this message because you are subscribed to the Google Groups 
> "CAS Community" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
>
> To view this discussion on the web visit 
> https://groups.google.com/a/apereo.org/d/msgid/cas-user/bff98751-3a50-4786-81a9-cc38a6228cc4n%40apereo.org
>  
> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/bff98751-3a50-4786-81a9-cc38a6228cc4n%40apereo.org?utm_medium=email&utm_source=footer>
> .
>
>

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/90903bc4-fd27-4942-a4fb-5cf313e8dd08n%40apereo.org.

Reply via email to