As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
Bene, ho risolto la prima parte… quella relativa al SSO della portlet Alfresco Client…Vi rimando qui:http://www.intalio.org/confluence/display/TEMPO/Details+of+Alfresco+SSO+integration+in+liferayE per il file già modificato (nell'articolo c'è un link, ma è sbagliato… evidentemente nel frattempo hanno ristrutturato il repository):http://tempo.intalio.org/tempo/branches/b4p/liferay-alfresco-sso/src/main/java/org/intalio/tempo/web/AlfrescoFacesPortlet.javaOra devo vedere il problema relativo alle preview, ed alle icone che forniscono le informazioni su files e cartelle… se qualcuno ne sa qualcosa, ogni commento sarà ben accetto
INFO: Initializing Coyote HTTP/1.1 on http-8080 Nov 12, 2009 11:26:48 AM org.apache.tomcat.util.net.jsse.JSSESocketFactory getStore SEVERE: Failed to load keystore type JKS with path C:\Documents and Settings\Mariasole\.keystore due to Keystore was tampered with, or password was incorrect java.io.IOException: Keystore was tampered with, or password was incorrect at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:340) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:259) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:444) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:409) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:125) at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:496) at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176) at org.apache.catalina.connector.Connector.initialize(Connector.java:1058) at org.apache.catalina.core.StandardService.initialize(StandardService.java:677) at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795) at org.apache.catalina.startup.Catalina.load(Catalina.java:530) at org.apache.catalina.startup.Catalina.load(Catalina.java:550) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) Caused by: java.security.UnrecoverableKeyException: Password verification failed … 21 more Nov 12, 2009 11:26:48 AM org.apache.coyote.http11.Http11Protocol init SEVERE: Error initializing endpoint java.io.IOException: Keystore was tampered with, or password was incorrect at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:340) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:259) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:444) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:409) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:125) at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:496) at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176) at org.apache.catalina.connector.Connector.initialize(Connector.java:1058) at org.apache.catalina.core.StandardService.initialize(StandardService.java:677) at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795) at org.apache.catalina.startup.Catalina.load(Catalina.java:530) at org.apache.catalina.startup.Catalina.load(Catalina.java:550) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) Caused by: java.security.UnrecoverableKeyException: Password verification failed … 21 more Nov 12, 2009 11:26:48 AM org.apache.catalina.startup.Catalina load SEVERE: Catalina.start ……….. …….
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:/Documents and Settings/Mariasole/.keystore" keystorePass="changeit"/>
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 utenzaIl che significa che se: - Ti logghi come Pippo - Fai logout - Ti logghi come PlutoAlfresco 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 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.
<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>
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?
#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
<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>