Forums de discussion

Liferay 6.2 - login CAS

Davide Parisi, modifié il y a 9 années.

Liferay 6.2 - login CAS

New Member Publications: 13 Date d'inscription: 30/10/14 Publications récentes
Ciao a tutti,
sto provando ad utilizzare il modulo di autenticazione login CAS che è già incluso in liferay 6.2.
Per evitare di configurarlo da interfaccia utente con il rischio che non riesco più ad autenticarmi con i miei account in locale, sto cercando di configurarlo da portal.ext-properties nel seguente modo:

cas.auth.enabled=true
cas.import.from.ldap=false
cas.login.url=https://dominio/cas/login
cas.logout.url=https://dominio/cas/logout
cas.server.url=https://dominio/cas
cas.service.url=
cas.logout.on.session.expiration=false
cas.no.such.user.redirect.url=https://localhost:8443
cas.server.name=localhost:8080
auto.login.hooks=com.liferay.portal.security.auth.CASAutoLogin


Una volta avviato il server liferay mi si presenta la solita home page di liferay:
  • provo ad effettuare il login;
  • vengo correttamente reindirizzato alla pagina di login del CAS;
  • inserito username e password;
  • la pagina viene reindirizzata a http://localhost:8080/c/portal/login?p_l_id=10643&ticket=ST-137-i0cusQyWjfrB3Gw4UMcv-shibby.dominio.it che contiene una pagina vuota.

Se controllo la console di eclipse posso notare la seguente eccezione:
16:43:24,333 ERROR [http-bio-8080-exec-4][CASFilter:83] java.lang.RuntimeException: javax.net.ssl.SSLProtocolException: handshake alert:  unrecognized_name
java.lang.RuntimeException: javax.net.ssl.SSLProtocolException: handshake alert:  unrecognized_name
	at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:295)


Dove sbaglio?
thumbnail
Denis Signoretto, modifié il y a 9 années.

RE: Liferay 6.2 - login CAS

Expert Publications: 375 Date d'inscription: 21/04/09 Publications récentes
Ciao Davide,

dal tipo di errore sembra un problema con il certificato che hai utilizzato sul server CAS per la parte HTTPS.
In particolare il nome riportato dal certificato sembra non corrispondere con il nome del server CAS che hai configurato su Liferay (https://dominio).
Prova a controllare che quanto riportato dal certificato sia quanto ha impostato nel portal-ext.properties. Il certificato (se non rilasciato da una CA valida lo devi altrimenti importare nel trust store della JVM che esegue Liferay)

Ciao,
Denis.
Davide Parisi, modifié il y a 9 années.

RE: Liferay 6.2 - login CAS

New Member Publications: 13 Date d'inscription: 30/10/14 Publications récentes
Ciao Denis,
grazie per la risposta.
Effettivamente quello era un problema, rinominando l'alias del certificato e specificando il path del .keystore nel file server.xml sono riuscito a risolvere il problema dell'eccezione.
Adesso mi si presenta un altro problema:
effettuo la login da CAS;
vengo reindirizzato alla home page di liferay però l'utente liferay non risulta connesso.
Stavolta non ho nessun tipo di errore o eccezione, semplicemente non risulto connesso come utente liferay, anche se in alto dal browser mi compare il popup "vuoi che google chrome salvi la password per questo sito?", quindi secondo cas sono connesso.
thumbnail
Denis Signoretto, modifié il y a 9 années.

RE: Liferay 6.2 - login CAS

Expert Publications: 375 Date d'inscription: 21/04/09 Publications récentes
Ciao Davide,

di solito questo comportamento accade quando l'utente o non è stato trovato sul DB di Liferay o non può essere creato.
Per essere creato un utente Liferay (salvo diverse impostazioni di default) ha bisogno di : firstName, lastName, screenName (lo username) e emailAddress.
Nelle tue impostazioni import from LDAP è a false. Se configuri l'accesso LDAP e abiliti l'import da LDAP su CAS dovrebbe poi funzionarti.

Ciao,
Denis.
Davide Parisi, modifié il y a 9 années.

RE: Liferay 6.2 - login CAS

New Member Publications: 13 Date d'inscription: 30/10/14 Publications récentes
Ciao Denis,
l'utente esiste. Se disabilito le impostazione di CAS e provo a loggarmi con le stesse credenziali che uso per la login esterna riesco a connettermi.
Nel caso in cui l'utente non esiste dovrebbe crearlo da solo? per fare questo come vengono gestiti i campi obbligatori richiesti dalla registrazione di liferay 6.2 ?
thumbnail
Denis Signoretto, modifié il y a 9 années.

RE: Liferay 6.2 - login CAS

Expert Publications: 375 Date d'inscription: 21/04/09 Publications récentes
Nel caso in cui l'utente non esiste Liferay può crearlo da solo, ha bisogno di essere configurato per farlo. La via più semplice è configurare e abilitare anche l'autenticazione LDAP e impostare nella configurazione CAS che import i dati utente da LDAP ovvero schedulare l'import utenti da LDAP. Senza LDAP è necessaria qualche personalizzazione aggiuntiva (vedi questo thread).

Qualora in LDAP tu non abbia a disposizione tutti gli attributi utente necessari puoi eventualmente agire con alcune properties così da ovviare all'obbligatorietà di alcuni (users.last.name.required=false, users.email.address.required=true, users.reminder.queries.required=false, terms.of.use.required=true, passwords.default.policy.change.required=false)

Ciao,
Denis.