Integrazione con Liferay

cancel
Showing results for 
Search instead for 
Did you mean: 
chicco0386
Active Member

Re: Integrazione con Liferay

Ottimo…
Riesco ad autenticarmi però sotto il dominio cignex (loro ldap e CAS).
Adesso devo capire come funzia la definizione degli utenti nel CAS in modo da personalizzarmi il mio.

Sai darmi qualche dritta?
Grazie per il tuo aiuto, molto molto utile..
chicco0386
Active Member

Re: Integrazione con Liferay

L'unico problema che rimaneva, riguardava il logout: se fai logout da liferay (dopo aver usato anche alfresco), vieni rilasciato da liferay e dal cas, ma non da alfresco, in cui rimane memorizzata la vecchia utenza
Il che significa che se:

- Ti logghi come Pippo
- Fai logout
- Ti logghi come Pluto

Alfresco continua a vederti come Pippo.
Il che non è esattamente il massimo, soprattutto a livello di sicurezza.

Abbiamo risolto in maniera stilisticamente non elegantissima, ma in ogni caso efficace: quando fai clik sul logout di liferay, apriamo un piccolo popup che effettua fisicamente il logout da tutti gli altri applicativi in gioco.

Abbiamo un progetto con liferay, alfresco e 8 applicativi php "integrati" con questa tecnica (LDAP, CAS, iframes e "popup"), e funziona tutto perfettamente.

Per quelle che erano le nostre esigenze, va bene così.

Buon lavoro  Smiley Very Happy


Edit.
Se vuoi proseguire sulla strada dell'integrazione "vera", posso inviarti qualche appunto che mi ero preso all'epoca…
Niente di definitivo, bozze e probabilmente anche incompleti, ma magari possono esserti di aiuto.
Nel caso, mandami la tua email che te li spedisco.

Allora ancora grazie pe il tuo aiuto.
Adesso dopo aver riscontrato i tuoi problemi sopra citati, volevo chiederti gentilmente se potevi mandarmi il codice utilizzato per la pop-up che eseguiva il logout dalle altre applicazioni.
Saresti molto gentile.

Poi volevo chiederti un'altra cosa, per caso hai riscontrato problemi utilizzando il tuo CAS Server locale e LDAP Cignex?
Tipo un errore di validazione del ticket?

Ah altra cosa, ho notato che Alfresco non importa automaticamente gli utenti loggati tramite CAS che non esistono in Alfresco.
Per caso hai risolto questo step?

GRAZIE
otakar81
Member II

Re: Integrazione con Liferay

Allora ancora grazie pe il tuo aiuto.
Adesso dopo aver riscontrato i tuoi problemi sopra citati, volevo chiederti gentilmente se potevi mandarmi il codice utilizzato per la pop-up che eseguiva il logout dalle altre applicazioni.
Saresti molto gentile.

Molto rozza: quando fai logout da liferay (puoi lavorare sul file dock.vm, nella cartella template del tema) apri un popup di questo tipo

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
   <head>
      <title>Logout…</title>
         <!– Effettua il logout da alfresco –>
       <script language="JavaScript">
            function startAlfresco()
            {                                                         
               document.alfresco.submit();                                                       
            }
         </script>
         <!– Fine –>
   </head>
   
   <body id="cas" onload="startAlfresco();">
      <form name="alfresco" action="[SERVER_AFRESCO:XXXX]/alfresco/faces/jsp/browse/browse.jsp" method="post">   
         <input TYPE="hidden" VALUE="browse:logout" NAME="browse:act">
         <input TYPE="hidden" VALUE="0" NAME="browse:search:_option">
         <input TYPE="hidden" VALUE="10" NAME="browse:spaces-pages">
         <input TYPE="hidden" VALUE="10" NAME="browse:content-pages">
         <input TYPE="hidden" VALUE="1" NAME="browse_SUBMIT">
      </form>         
   </body>
   
</html>

La form simula l'azione che avviene quando premi il link logout di alfresco.

Ah altra cosa, ho notato che Alfresco non importa automaticamente gli utenti loggati tramite CAS che non esistono in Alfresco.
Per caso hai risolto questo step?

Devi configurare anche l'integrazione ldap-alfresco.
In questo modo, in maniera automatica, alfresco prende gli utenti di ldap, e quando entri tramite cas lui si trova già le utenze all'interno.
Devi lavorare (io ho usato Alfresco Labs 3.0… nell'ultima versione è cambiato qualcosa) sui files "ldap-authentication.properties" e "ldap-synchronisation.properties", da mettere in $ALFRESCO_HOME/tomcat/shared/classes/alfresco/extension
Nel secondo di questi files puoi specificare l'intervallo di tempo per la sincronizzazione delle utenze.
Nel nostro caso non avevamo esigenze molto stringenti, in fatto di tempistiche… gli utenti li creiamo noi da amministrazione, quindi anche impostando un intervallo di sincronizzazione abbastanza largo, funziona tutto correttamente.
Se hai esigenze diverse, magari puoi impostare la sincronizzazione ogni tot secondi…

Spero di esserti stato di aiuto  Smiley Happy
chicco0386
Active Member

Re: Integrazione con Liferay

Certo che mi sei stato utile,
ma volevo chiederti un ultimo (spero) grandissimo favore…
Potresti dirmi come hai modificato il tema?

Adesso mi hanno dato un'altro progetto e nei prossimi giorni devo fare una demo dal cliente e nn riesco a completare il tutto…

SARESTI MOLTO GENTILE

GRAZIE

Se vuoi puoi mandarmi anche il war del tema o i file per mail (moccolo86@gmail.com)…anche se dovrebbe essere un singolo file da modificare e quindi da inviarmi.
otakar81
Member II

Re: Integrazione con Liferay

Vai nel file dock.vm, che puoi trovare (se non hai scelto un tema diverso da quello di default) in /ROOT.war/html/themes/classic/templates/

   
#if ($show_sign_out)
         <li class="sign-out">
            <!– <a href="$sign_out_url">$sign_out_text</a> –>
            
            <!– De Caro –>
            <a href="#" onclick="window.location='$sign_out_url'; window.open('http://localhost:8080/cas-server/cas_logout.html','','width=400,height=150,top=' + (Math.floor((screen.height-150)/2)) + ',left=' + (Math.floor((screen.width-400)/2)));">$sign_out_text</a>
         </li>
#end

Puntando correttamente al tuo popup (io ho messo l'html nel war del cas)

In bocca al lupo  Smiley Happy
chicco0386
Active Member

Re: Integrazione con Liferay

GRAZIE MILLE…
Adesso appena ho un attimo di tempo libero lo testo e ti so dire…

SEI stato vermamente molto gentile e paziente…
Se fossi di queste parti un caffè o una birra in compagnia te l'avrei offerta volentieri. Smiley Happy  Smiley Very Happy

A RISENTIRCI E BUON LAVORO
GRAZIE ANCORA

Enrico
chicco0386
Active Member

Re: Integrazione con Liferay

OK GRAZIE…
FUNZIA, solo che ho modificato il logout.html di Alfresco, in quanto a me nn funzionava, praticamente nella pop-up avvio Alfresco (tuo codice) e poi richiamo semplicemente il link del logout.

Unica pignoleria grafica che penso farò più avanti, è quella che nella pop up ti viene fuori la schermata di logout del CAS (giustamente).
la mia piccola modifica è questas:
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
       <head>
          <title>Logout…</title>
             <!– Effettua il logout da alfresco –>
           <script language="JavaScript">
                function startAlfresco()
                {
                   document.alfresco.submit();
                }
             </script>
             <!– Fine –>
       </head>

       <body id="cas" onload="startAlfresco();">
          <form name="alfresco" action="http://vmtria/alfresco/logout" method="post">
             <%–<input TYPE="hidden" VALUE="browse:logout" NAME="browse:act">
             <input TYPE="hidden" VALUE="0" NAME="browse:search:_option">
             <input TYPE="hidden" VALUE="10" NAME="browse:spaces-pages">
             <input TYPE="hidden" VALUE="10" NAME="browse:content-pages">
             <input TYPE="hidden" VALUE="1" NAME="browse_SUBMIT">–%>
          </form>
       </body>

    </html>

ANCORA GRAZIE