Jasig CAS code is 404 after successful maintenance check

We are currently trying to deploy CAS 4.0.1 on JBoss EAP 6.3.0 server.

The login web flow has been configured to redirect to a specific login form depending on the service calling the CAS for authentication. Depending on these forms, we use special authentication handlers and a specific credential model. Also, the configuration is pretty standard.

At the moment we have the following problem: when the user tries to access the service protected by the CAS, he is correctly redirected to the portal and the expected login window is rendered; on successful login, Tick Service is delivered to the service side authentication filter (standard j_spring_cas_security_check), which then successfully validates it against the CAS ticket registry. In the logs we can see that CAS provides cas2ServiceSuccessView; however, instead of delivering the expected XML response, the user is redirected to the login form. We then confirmed that we did get a 404 error after cas2ServiceSuccessView ... Any idea what might be causing this behavior / what we might have done wrong?

Note that we get the same error no matter how we call the CAS to validate the ST: would it be manually via / serviceValidate? ticket = ST-YYY & service = XXX or via / j _spring_cas_security_check from the service side ...

Edit: we have the same behavior as CAS on Tomcat 7.

Thanks in advance.

Below are the debug logs we receive:

08:54:10,806 DEBUG [org.springframework.web.servlet.DispatcherServlet] (http-/0.0.0.0:8080-7) Last-Modified value for [/cas/serviceValidate] is: -1
08:54:10,809 INFO  [org.perf4j.TimingLogger] (http-/0.0.0.0:8080-7) start[1433314450807] time[2] tag[VALIDATE_SERVICE_TICKET]
08:54:10,810 INFO  [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] (http-/0.0.0.0:8080-7) Audit trail record BEGIN
=============================================================
WHO: audit:unknown
WHAT: ST-3-uecoOwdbdIn4bc2WvXfe-cas-test
ACTION: SERVICE_TICKET_VALIDATED
APPLICATION: CAS
WHEN: Wed Jun 03 08:54:10 CEST 2015
CLIENT IP ADDRESS: 127.0.0.1
SERVER IP ADDRESS: 127.0.0.1
=============================================================


08:54:10,810 DEBUG [org.springframework.validation.DataBinder] (http-/0.0.0.0:8080-7) DataBinder requires binding of required fields [renew]
08:54:10,811 DEBUG [org.springframework.web.servlet.DispatcherServlet] (http-/0.0.0.0:8080-7) Rendering view [org.springframework.web.servlet.view.InternalResourceView: name 'cas2ServiceSuccessView'; URL [/WEB-INF/view/jsp/cas2ServiceSuccessView.jsp]] in DispatcherServlet with name 'cas'
08:54:10,811 DEBUG [org.springframework.web.servlet.view.InternalResourceView] (http-/0.0.0.0:8080-7) Added model object 'assertion' of type [org.jasig.cas.validation.ImmutableAssertion] to request in view with name 'cas2ServiceSuccessView'
08:54:10,811 DEBUG [org.springframework.web.servlet.view.InternalResourceView] (http-/0.0.0.0:8080-7) Removed model object 'pgtIou' from request in view with name 'cas2ServiceSuccessView'
08:54:10,811 DEBUG [org.springframework.web.servlet.view.InternalResourceView] (http-/0.0.0.0:8080-7) Forwarding to resource [/WEB-INF/view/jsp/cas2ServiceSuccessView.jsp] in InternalResourceView 'cas2ServiceSuccessView'
08:54:10,812 DEBUG [org.springframework.web.servlet.DispatcherServlet] (http-/0.0.0.0:8080-7) Successfully completed request
08:54:10,814 DEBUG [org.springframework.web.servlet.DispatcherServlet] (http-/0.0.0.0:8080-7) DispatcherServlet with name 'cas' processing GET request for [/cas/login]
08:54:10,814 DEBUG [org.springframework.webflow.mvc.servlet.FlowHandlerMapping] (http-/0.0.0.0:8080-7) Mapping request with URI '/cas/login' to flow with id 'login'

      

+3


source to share


2 answers


In SpringSecurity 4.x, the CasAuthenticationFilter defaultFilterProcessesUrl path has been changed. So change '/ j_spring_cas_security_check' to '/ login / cas' in Config.



+5


source


... and of course the reason was pretty silly: for some reason (I have to look at our merge / git history), the viewResolver bean defined in cas-servlet. xml did not have basenames property.



0


source







All Articles