Foros de discusión

Alfresco+Liferay+Cas=SSO

abhishek kumar, modificado hace 8 años.

Alfresco+Liferay+Cas=SSO

Regular Member Mensajes: 138 Fecha de incorporación: 17/08/15 Mensajes recientes
hello all,

i had integrated the alfresco in liferay . i can able to login to liferay using third party integration .
for that i had used CAS. now the when i clicked on sign_in button then it goes to third party when i enter BRUNO BRUNO then it will login in liferay portal then the problem comes.
At the time of login i can see the liferay portal , then the alfresco portlet is been not log in then i have to put the username and password
then only alfreso is been logged in

But when i clicked on sign out button then automatically
liferay and alfresco also logout means MY SINGLE SIGN OUT is working.


how to do so that sign-in work????
abhishek kumar, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Regular Member Mensajes: 138 Fecha de incorporación: 17/08/15 Mensajes recientes
Any body know anything about this ?????
thumbnail
Bijan Vakili, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Expert Mensajes: 375 Fecha de incorporación: 10/03/09 Mensajes recientes
Hi Abhishek,
Maybe I can help out. Confirm my understanding of problem:
1. User clicks login on the Liferay site
2. Liferay redirects user to website - this done via Liferay CAS auth filter
3. User enters credentials on website; clicks login and server the redicets; back to the Liferay site to be logged in; along with a cookie showing the auth
4. Liferay site receives redirect request; extracts cookie showing the auth is done; validates value against CAS server; and if it's fine, it lets the user through; otherwise Liferay doesn't know user

If above is correct, some followups:
1. What is URL of the CAS server? E.g. where user's redirected for login
2. What is URL of the Liferay site?
These are important for browser cookie.
3. What settings have you set for Liferay CAS?
4. Have you tried running it in debug mode? You can step through the CAS filter auth code! This will 100% tell you what's up; though it may take a few minutes setup.

Some screenshots of the following would help:
1. Each step in the above described process
1.1. Have Network panel of Chrome open too; so it can be seen what requests are sent
1.1.1. Detailed view of particular requests; and responses to show all the headers; especially "Cookie" and "Set-Cookie"

Thank you very much.
Sincerely,
Bijan
abhishek kumar, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Regular Member Mensajes: 138 Fecha de incorporación: 17/08/15 Mensajes recientes
yes sir correctemoticon

i had make a mock screen for better understandings, kindly have a look
and tell me so that i can solve this soon

Mock_Screen


Best Regards
Abhishek
thumbnail
Bijan Vakili, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Expert Mensajes: 375 Fecha de incorporación: 10/03/09 Mensajes recientes
Hi Abhishek,
Screenshot clarifies it: issue's with Alfresco integration. What is the URL of Alfresco? If it can't see cookie, won't know it's there.


For example, here's what might be case:
Liferay URL: http://localhost:9080
CAS URL: http://localhost:9080/cas-web
Alfresco URL: http://myalfresco.com/

Note Liferay & CAS URLs domain: localhost
Notice how it differs from Alfresco's: myalfresco.com

Cookie set on localhost won't transfer; so myalfresco.com won't see it.

This is how many SSO work now; for cross-domain, you can research online; note this is not Liferay bug or something; it's a misconfiguration issue!

Another may be Alfresco's setup; may need to double check if it's set riht.
abhishek kumar, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Regular Member Mensajes: 138 Fecha de incorporación: 17/08/15 Mensajes recientes
yeah correct sir ,
the url of alfresco is :- http://localhost:8080
url of liferay is :- http:// localhost:9080
url of cas is:- http://localhost:9080/cas-web



For integration of Cas i tried this LINK? and some other so able to get this.

In short i did some changes in share-config-custom.xml and paste the share.war file in liferay home.

but i thought when i configured the cas in this it will work ??
but nothing happened??

how to resolve and cookie to resolved??
thumbnail
Bijan Vakili, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Expert Mensajes: 375 Fecha de incorporación: 10/03/09 Mensajes recientes
Hi Abhishek, here are suggestions:

1. Check the Alfresco configuration; is it detecting SSO token? Have you tried verifying the settings?
2. Can you put Alfresco on the same port? I'm not sure all browsers transfer cookie; between the two non-standard ports for them. ( http://stackoverflow.com/questions/1612177/are-http-cookies-port-specific )

Reply back with details so can help more.
abhishek kumar, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Regular Member Mensajes: 138 Fecha de incorporación: 17/08/15 Mensajes recientes
For point one how to check that alfresco is detecting sso token ??

1-: By using cas liferay login successfully , i think i have to do some modifications in alfresco community edition itself, what should i do changes , already i m configured xml file of shared folder .

2:- alfresco is running on 8080 and liferay 9080 , alright i will just check is it possible to change 8080 to 9080, might be it will work.

perhaps i have to R&D for that.

any more tips. kindly see my xml file(The xml file is liferay tomcat shared folder) and global.properties of alfresco.
abhishek kumar, modificado hace 7 años.

RE: Alfresco+Liferay+Cas=SSO

Regular Member Mensajes: 138 Fecha de incorporación: 17/08/15 Mensajes recientes
I got this error in my ecclipse console, please have a look

2016-05-09 07:19:26,701 INFO [webscripts.connector.RemoteClient] [http-bio-9080-exec-10] Exception calling (GET) http://localhost:8080/alfresco/s/slingshot/doclib2/doclist/all/node/alfresco/company/shared?filterData=%2f&noCache=1462778243478&sortAsc=true&sortField=cm%3aname&libraryRoot=alfresco%3a%2f%2fcompany%2fshared&view=browse&filter=category&size=50&pos=1&alf_ticket=TICKET_a8d589f035af9cd9e80f836207d28e3a2c265d6c
2016-05-09 07:19:26,703 INFO [webscripts.connector.RemoteClient] [http-bio-9080-exec-10] Error status 408 Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155)
at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at org.springframework.extensions.webscripts.connector.RemoteClient.service(RemoteClient.java:1153)
at org.springframework.extensions.webscripts.connector.RemoteClient.service(RemoteClient.java:930)
at org.springframework.extensions.webscripts.connector.RemoteClient.call(RemoteClient.java:653)
at org.springframework.extensions.webscripts.connector.RemoteClient.call(RemoteClient.java:587)
at org.springframework.extensions.webscripts.connector.HttpConnector.call(HttpConnector.java:70)
at org.springframework.extensions.webscripts.RequestCachingConnector.call(RequestCachingConnector.java:90)
at org.springframework.extensions.webscripts.connector.AuthenticatingConnector.call(AuthenticatingConnector.java:136)
at org.springframework.extensions.webscripts.ScriptRemoteConnector.call(ScriptRemoteConnector.java:95)
at org.springframework.extensions.webscripts.ScriptRemote.call(ScriptRemote.java:179)
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.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
at org.mozilla.javascript.gen.file__E__tomcat_liferay_portal_6_2_ce_ga3_tomcat_7_0_42_webapps_share_WEB_INF_classes_alfresco_site_webscripts_org_alfresco_components_documentlibrary_data_surf_doclist_get_js_17._c_surfDoclist_main_34(file:/E:/tomcat/liferay-portal-6.2-ce-ga3/tomcat-7.0.42/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.get.js:1154)
at org.mozilla.javascript.gen.file__E__tomcat_liferay_portal_6_2_ce_ga3_tomcat_7_0_42_webapps_share_WEB_INF_classes_alfresco_site_webscripts_org_alfresco_components_documentlibrary_data_surf_doclist_get_js_17.call(file:/E:/tomcat/liferay-portal-6.2-ce-ga3/tomcat-7.0.42/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.get.js)
at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
at org.mozilla.javascript.gen.file__E__tomcat_liferay_portal_6_2_ce_ga3_tomcat_7_0_42_webapps_share_WEB_INF_classes_alfresco_site_webscripts_org_alfresco_components_documentlibrary_data_surf_doclist_get_js_17._c_script_0(file:/E:/tomcat/liferay-portal-6.2-ce-ga3/tomcat-7.0.42/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.get.js:1177)
at org.mozilla.javascript.gen.file__E__tomcat_liferay_portal_6_2_ce_ga3_tomcat_7_0_42_webapps_share_WEB_INF_classes_alfresco_site_webscripts_org_alfresco_components_documentlibrary_data_surf_doclist_get_js_17.call(file:/E:/tomcat/liferay-portal-6.2-ce-ga3/tomcat-7.0.42/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.get.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at org.mozilla.javascript.gen.file__E__tomcat_liferay_portal_6_2_ce_ga3_tomcat_7_0_42_webapps_share_WEB_INF_classes_alfresco_site_webscripts_org_alfresco_components_documentlibrary_data_surf_doclist_get_js_17.call(file:/E:/tomcat/liferay-portal-6.2-ce-ga3/tomcat-7.0.42/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.get.js)
at org.mozilla.javascript.gen.file__E__tomcat_liferay_portal_6_2_ce_ga3_tomcat_7_0_42_webapps_share_WEB_INF_classes_alfresco_site_webscripts_org_alfresco_components_documentlibrary_data_surf_doclist_get_js_17.exec(file:/E:/tomcat/liferay-portal-6.2-ce-ga3/tomcat-7.0.42/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.get.js)
at org.springframework.extensions.webscripts.processor.JSScriptProcessor.executeScriptImpl(JSScriptProcessor.java:333)
at org.springframework.extensions.webscripts.processor.JSScriptProcessor.executeScript(JSScriptProcessor.java:209)
at org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:1376)
at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:86)
at org.springframework.extensions.webscripts.PresentationContainer.executeScript(PresentationContainer.java:70)
at org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer.executeScript(LocalWebScriptRuntimeContainer.java:239)
at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:378)
at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)
at org.springframework.extensions.webscripts.servlet.mvc.WebScriptView.renderMergedOutputModel(WebScriptView.java:104)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:264)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1216)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1001)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
at org.alfresco.web.site.servlet.SecurityHeadersFilter.doFilter(SecurityHeadersFilter.java:182)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
at org.alfresco.web.site.servlet.CSRFFilter.doFilter(CSRFFilter.java:322)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:447)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)