[Using Sakai] Casifying sakai to 3.0 problems

Anders Nordkvist anders.nordqvist at his.se
Tue Apr 17 03:06:01 PDT 2012


Hi,



Im sorry for spamming :) but I found out with help from Steve, that it was the Sakai client CAS config that wasn't right. The client had "casServerUrlPrefix" set without /cas (It was set correct on the server).

Now its corrected and everything seems to work fine!



Regards
Anders Nordkvist
System administrator
University Of Skövde
Sweden







From: Steve Swinsburg [mailto:steve.swinsburg at gmail.com]
Sent: den 17 april 2012 01:16
To: Anders Nordkvist
Cc: sakai-user at collab.sakaiproject.org
Subject: Re: [Using Sakai] Casifying sakai to 3.0 problems

Hi Anders,

/serviceValidate isn't a valid path if you are using the /cas/ context.

https://hscas.his.se/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http%3A%2F%2Fsakai-dev.hs.local%3A8080%2Fsakai-login-tool%2Fcontainer<https://hscas.his.se/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http://sakai-dev.hs.local:8080/sakai-login-tool/container>

Should be:

https://hscas.his.se/cas/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http%3A%2F%2Fsakai-dev.hs.local%3A8080%2Fsakai-login-tool%2Fcontainer<https://hscas.his.se/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http://sakai-dev.hs.local:8080/sakai-login-tool/container>


And to get that you'll probably need to adjust your casServerUrlPrefix to include /cas/ at the end.

cheers,
Steve


On 17/04/2012, at 12:15 AM, Anders Nordkvist wrote:


Hi all,

Im trying to bump up CAS to 3.0 on our test server sakai-dev.his.se<http://sakai-dev.his.se> but I get this error when I try to log in through the CAS server:


2012-04-16 15:34:39,912  WARN http-8080-Processor23 org.sakaiproject.util.RequestFilter -
java.lang.RuntimeException: java.io.FileNotFoundException: https://hscas.his.se/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http%3A%2F%2Fsakai-dev.hs.local%3A8080%2Fsakai-login-tool%2Fcontainer<https://hscas.his.se/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http://sakai-dev.hs.local:8080/sakai-login-tool/container>
        at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:341)
        at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
        at org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
        at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
        at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:165)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:116)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:658)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.FileNotFoundException: https://hscas.his.se/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http%3A%2F%2Fsakai-dev.hs.local%3A8080%2Fsakai-login-tool%2Fcontainer
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1434)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
        at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:326)
        ... 24 more
2012-04-16 15:34:39,912 ERROR http-8080-Processor23 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sakai-login-tool].[sakai.login.container] - Servlet.service() for servlet sakai.login.container threw exception
java.lang.RuntimeException: java.io.FileNotFoundException: https://hscas.his.se/serviceValidate?ticket=ST-9546-7xbZSl457oQexQrqpjfO-cas&service=http%3A%2F%2Fsakai-dev.hs.local%3A8080%2Fsakai-login-tool%2Fcontainer
        at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:341)
        at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
        at org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
        at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
        at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:165)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)


I have configured the files looking at Steves excellent guide on how to casify Sakai for 3.0. This is my configuration:

<!-- SCIO - Force request for /container through the request filter -->
   <filter-mapping>
        <filter-name>sakai.request</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
<!-- SCIO - Force request for /container through the request filter END -->

    <filter>
        <filter-name>sakai.request.container</filter-name>
        <filter-class>org.sakaiproject.util.RequestFilter</filter-class>
       <init-param>
            <param-name>tool.placement</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>remote.user</param-name>
            <param-value>false</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>sakai.request</filter-name>
        <servlet-name>sakai.login</servlet-name>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>

    <filter-mapping>
        <filter-name>sakai.request.container</filter-name>
        <servlet-name>sakai.login.container</servlet-name>
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>

<!-- SCIO - begin CAS servlet filter -->

<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://hscas.his.se/cas/login</param-value><https://hscas.his.se/cas/login%3c/param-value%3e>
            </init-param>

           <init-param>
               <param-name>serverName</param-name>
               <param-value>http://sakai-dev.hs.local:8080</param-value><http://sakai-dev.hs.local:8080%3c/param-value%3e>
           </init-param>

    </filter>

    <filter>
           <filter-name>CAS Validation Filter</filter-name>
           <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>

        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>https://hscas.his.se</param-value><https://hscas.his.se%3c/param-value%3e>
        </init-param>

        <init-param>
            <param-name>serverName</param-name>
            <param-value>sakai-dev.hs.local: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>/container</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>

Also worth mentioning is that it worked before I changed from 2.0. to 3.0.
Im using Sakai 2.7.x latest revision and the CAS server is at version 3.4.6.
Can you nice Sakai people out there see something wrong?


Regards
Anders Nordkvist
System administrator
University Of Skövde
Sweden






_______________________________________________
sakai-user mailing list
sakai-user at collab.sakaiproject.org<mailto:sakai-user at collab.sakaiproject.org>
http://collab.sakaiproject.org/mailman/listinfo/sakai-user

TO UNSUBSCRIBE: send email to sakai-user-unsubscribe at collab.sakaiproject.org<mailto:sakai-user-unsubscribe at collab.sakaiproject.org> with a subject of "unsubscribe"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-user/attachments/20120417/3dcf0e20/attachment-0001.html 


More information about the sakai-user mailing list