cancel
Showing results for 
Search instead for 
Did you mean: 

SSO with Alfreshco

asmi
Champ in-the-making
Champ in-the-making
Hi Folks,

I am new in alfresco.I have one application called "xyz" and while logging in to this application i am using SSO server for authorization and authentication .Now i want to integrate the Alfresco with my "xyz" application and as the user already logged in to the "xyz" application alfresco do not ask for  login again to user.Please help me out!!

Thanks in Advance!!!
3 REPLIES 3

mitpatoliya
Star Collaborator
Star Collaborator

asmi
Champ in-the-making
Champ in-the-making
Thanks Mitpatoliya,

asmi
Champ in-the-making
Champ in-the-making
I have configured two centos (6.3) machines. in one machine i have configured the CAS server and the second machine i have configured the alfresco.I have changed the following files in order to use the CAS SSO in alfresco.
1) alfresco web.xml
<filter>
          <filter-name>CAS Authentication Filter</filter-name>
          <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
           <init-param>
                   <param-name>casServerLoginUrl</param-name>
             <param-value>https://sso-server.com:8443/sso/login</param-value>
           </init-param>
           <init-param>
                 <param-name>serverName</param-name>
                   <param-value>http://alfresco-cms.com:8080</param-value>
           </init-param>
   </filter>
   <filter>
          <filter-name>CAS Validation Filter</filter-name>
          <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
           <init-param>
                  <param-name>casServerUrlPrefix</param-name>
                  <param-value>https://sso-server.com:8443/sso/serviceValidate</param-value>
           </init-param>
           <init-param>
                   <param-name>serverName</param-name>
                   <param-value>http://alfresco-cms.com:8080</param-value>
           </init-param>
   </filter>
   <filter>
          <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
          <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
   </filter>
   <filter-mapping>
            <filter-name>CAS Authentication Filter</filter-name>
            <url-pattern>/faces/*</url-pattern>
      </filter-mapping>
      <filter-mapping>
            <filter-name>CAS Validation Filter</filter-name>
            <url-pattern>/faces/*</url-pattern>
      </filter-mapping>
      <filter-mapping>
            <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
            <url-pattern>/faces/*</url-pattern>
      </filter-mapping>
2) share web.xml
<filter>
          <filter-name>CAS Authentication Filter</filter-name>
          <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
           <init-param>
                   <param-name>casServerLoginUrl</param-name>
             <param-value>https://sso-server.com:8443/sso/login</param-value>
           </init-param>
           <init-param>
                 <param-name>serverName</param-name>
                   <param-value>http://alfresco-cms.com:8080</param-value>
           </init-param>
   </filter>
   <filter>
          <filter-name>CAS Validation Filter</filter-name>
          <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
           <init-param>
                  <param-name>casServerUrlPrefix</param-name>
                  <param-value>https://sso-server.com:8443/sso/serviceValidate</param-value>
           </init-param>
           <init-param>
                   <param-name>serverName</param-name>
                   <param-value>http://alfresco-cms.com:8080</param-value>
           </init-param>
   </filter>
   <filter>
          <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
          <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
   </filter>
   <filter-mapping>
            <filter-name>CAS Authentication Filter</filter-name>
            <url-pattern>/*</url-pattern>
      </filter-mapping>
      <filter-mapping>
            <filter-name>CAS Validation Filter</filter-name>
            <url-pattern>/*</url-pattern>
      </filter-mapping>
      <filter-mapping>
            <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
            <url-pattern>/*</url-pattern>
      </filter-mapping>
3) alfresco-global.properties

authentication.chain=external1:external

4)share-config-custom.xml

<config evaluator="string-compare" condition="Remote">
      <remote>
         <keystore>
             <path>alfresco/web-extension/alfresco-system.p12</path>
             <type>pkcs12</type>
             <password>alfresco-system</password>
         </keystore>
        
         <connector>
            <id>alfrescoCookie</id>
            <name>Alfresco Connector</name>
            <description>Connects to an Alfresco instance using cookie-based authentication</description>
            <class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
         </connector>
        
         <connector>
            <id>alfrescoHeader</id>
            <name>Alfresco Connector</name>
            <description>Connects to an Alfresco instance using header and cookie-based authentication</description>
            <class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
            <userHeader>SsoUserHeader</userHeader>
         </connector>

         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfrescoCookie</connector-id>
            <endpoint-url>http://alfresco-cms.com:8080/alfresco/wcs</endpoint-url>
            <identity>user</identity>
            <external-auth>true</external-auth>
         </endpoint>
      </remote>
   </config>
after changing this i am able to redirect to sso but after enetr the credentials im getting error
Jul 09, 2013 12:37:38 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/alfresco] threw exception [org.jasig.cas.client.validation.TicketValidationException: The CAS server returned no response.] with root cause
org.jasig.cas.client.validation.TicketValidationException: The CAS server returned no response.
   at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:181)
   at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:132)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:111)
   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:472)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
   at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:1771)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)

How can i solve this problem.Please help me out.

Thanks in Advance!!
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.