CAS 6.0 Как аутентифицировать пользователя / пароль с помощью LDAP

Когда я попытался подключить cas-overlay-6.0 к серверу каталогов ldap Oracle 11 с логином / паролем в приложении cas 6.0, у меня возникла эта ошибка:

КТО: myLogin ЧТО: Предоставленные учетные данные:

[UsernamePasswordCredential(username = myLogin, source = null)] ДЕЙСТВИЕ:

AUTHENTICATION_FAILED APPLICATION: CAS

Мои cas.properties:

cas.authn.ldap[0].ldapUrl=ldap://monserveur.fr
# Identifiant pour se connecter au LDAP
cas.authn.ldap[0].bindDn=cn=Directory Manager
cas.authn.ldap[0].bindCredential=myPassword

cas.authn.ldap[0].baseDn=ou=personnels,ou=XX-XXX-XXXX,ou=edu,o=gov,c=uk
cas.authn.ldap[0].searchFilter=uid={user}
cas.authn.ldap[0].subtreeSearch=true
#cas.authn.ldap[0].principalAttributeList=cn,givenName,mail,sn
cas.authn.ldap[0].principalAttributePassword=userPassword

Примечание: пароль имеет кодировку SSHA в ldap.

Как проверить, что не так? Например, когда я ввожу неправильный baseDn или searchFilter, у меня такая же ошибка. Как выполнить простую проверку логина / пароля, чтобы устранить ошибку?

Как cas работает с паролем, то есть ldap, выполняющий пароль, сравнивает или cas?

Если это cas, который выполняет пароль, сравните, как настроить cas для

Заранее благодарим за любую помощь!

1 ответ

Он работает с паролем SSHA без конфигурации или изменения.

Пример для CAS 6.0.5, предоставляемый cas-overlay-6.0 и ldap Oracle Directory Server 11.

cas.properties:

cas.server.name=https://yourServer:8443
cas.server.prefix=${cas.server.name}/cas

# usefull to modifiy log level. Right path for cas-overlay-6.0
logging.config=file:/etc/cas/config/log4j2.xml

# connexion au ldap sur votre serveur ldap en anonyme 
############################################################################### 
cas.authn.ldap[0].ldapUrl=ldap://myServer.fr:389/ 
cas.authn.ldap[0].type=ANONYMOUS 
cas.authn.ldap[0].useSsl=false 
cas.authn.ldap[0].useStartTls=false 

# connexion au ldap en mode authentifié 
############################################################################### 
#cas.authn.ldap[0].ldapUrl=ldap://myServer.fr:389/ 
#cas.authn.ldap[0].useSsl=false 
#cas.authn.ldap[0].useStartTls=false 
#cas.authn.ldap[0].type=AUTHENTICATED 
## Identifiant pour se connecter au LDAP 
#cas.authn.ldap[0].bindDn=cn=Directory Manager 
#cas.authn.ldap[0].bindCredential=myPassword 


# search for cas user who try to test login connection 
################################################################################ 
cas.authn.ldap[0].baseDn=ou=XXXXXX,ou=educ,o=gouv,c=fr 
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].principalAttributeList=cn,givenName,mail,sn

С cas-overlay-6.0 вам нужно скопировать conf: ./build.sh copy

для тестирования, когда что-то идет не так:

сторона сервера cas:

telnet yourLdapServer.fr 389

должен работать!

ldapsearch -h yourLdapServer.fr -D "cn=Directory Manager" -w yourPassword -b "ou=personnels,ou=XXXXX,ou=educ,o=gouv,c=fr"  uid=loginTest

или анонимная связь

ldapsearch -h yourLdapServer.fr -x -b "ou=personnels,ou=XXXXX,ou=educ,o=gouv,c=fr"  uid=loginTest 

должен предоставить карту

сторона сервера ldap

tcpdump -v -i eth0 -s 0 -A 'tcp dst port 389'

должен предоставить такую ​​строку (при запуске ldapsearch или тестового подключения для входа в систему):

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
18:04:23.846472 IP (tos 0x0, ttl  64, id 19303, offset 0, flags [DF], proto 6, length: 60) yourCasServer.fr.59810 > yourLdapServer.ldap: S [tcp sum ok] ...

если соединение между cas и ldap не удается, исправьте эти строки в cas.properties:

cas.authn.ldap[0].ldapUrl=ldap://myServer.fr:389/ 
cas.authn.ldap[0].type=ANONYMOUS 
cas.authn.ldap[0].useSsl=false 
cas.authn.ldap[0].useStartTls=false 

когда соединение между cas и ldap в порядке, проверьте журнал cas и журнал ldap для получения дополнительной информации!

Другие вопросы по тегам