cancel
Showing results for 
Search instead for 
Did you mean: 

Error after Login through SSO (CAS + Active Directory)

ngtrongtri
Champ in-the-making
Champ in-the-making
Hi, i have setup CAS SSO for Alfresco, but error:

Step1. Open the url -> http://192.168.2.100:8090/alfresco; alfresco redirecting to http://xxxx/cas/login?service=http%3A%2F%2F192.168.2.100%3A8090%2Falfresco%2Ffaces%2Fjsp%2Fdashboard...
Step2. Giving username and password (Already existing same username and password in Alfresco as well as CAS_ldap); Authenticating Suucessfully and redirecing to again http://192.168.2.100:8090/alfresco/faces/jsp/dashboards/container.jsp
Step3. The following Error is coming after login –>
java.lang.NoSuchMethodError: org.alfresco.web.app.Application.getLanguage(Ljavax/servlet/http/HttpSessionSmiley WinkLjava/util/Locale;

Details:
java.lang.NoSuchMethodError: org.alfresco.web.app.Application.getLanguage(Ljavax/servlet/http/HttpSessionSmiley WinkLjava/util/Locale;
at info.intix.alfresco.CasAuthenticationFilter.doFilter(CasAuthenticationFilter.java:124)
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.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:167)
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:93)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:68)
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.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy241.doFilter(Unknown Source)
at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61)
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$SocketProcessor.run(AprEndpoint.java:1813)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Please help me.
Thank
1 REPLY 1

iblanco
Confirmed Champ
Confirmed Champ
Hi ngtrongtri,

How are you integrating Alfresco to CAS ? In older versions of Alfresco it used to be done by changing web.xml and adding some classes to Alfresco but right now I don't think this is the preferred or recommended way.

You are supposed to install Apache HTTP as a front-end for Apache Tomcat and use the CAS authentication module for Apache and enable external authentication in Alfresco. I've done it a couple of times for different customers and it works right this way. The old way also worked of course, at least for old Alfresco versions, but I think the new way (using apache HTTP) is better documented <a href="http://wiki.alfresco.com/wiki/Alfresco_With_mod_auth_cas">in the Wiki</a> and cleaner.