2015-06-03 3 views
3

В настоящее время мы пытаемся развернуть CAS 4.0.1 на сервере JBoss EAP 6.3.0.Jasig CAS - 404 код после успешной проверки ваучера на обслуживание

Веб-поток входа был настроен для перенаправления на конкретную форму входа в зависимости от службы, вызывающей CAS для аутентификации. В зависимости от этих форм мы используем специальные обработчики проверки подлинности и определенную модель учетных данных. Кроме того, конфигурация довольно стандартная.

В настоящий момент у нас возникает следующая проблема: когда пользователь пытается получить доступ к службе, защищенной CAS, он правильно перенаправляется на портал и визуализируется ожидаемое окно входа в систему; при успешном входе в систему, Tick Service доставляется в фильтр проверки подлинности на стороне службы (стандартный j_spring_cas_security_check), который затем успешно проверяет его с реестром билетов CAS. В журналах мы видим, что CAS предоставляет cas2ServiceSuccessView; однако вместо доставки ожидаемого ответа XML пользователь перенаправляется на форму входа. Затем мы подтвердили, что мы действительно получили ошибку 404 после cas2ServiceSuccessView ... Любая идея, что может вызвать такое поведение/что мы могли бы сделать неправильно?

Обратите внимание, что мы получаем ту же ошибку, независимо от того, как мы называем CAS для проверки ST: является ли это вручную через/serviceValidate билет = ST-YYY & сервис = XXX, либо через/j_spring_cas_security_check на стороне службы? ...

Edit: мы имеем такое же поведение работает CAS на Tomcat 7.

Спасибо заранее.

Ниже журналов отладки, которые мы получаем:

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' 

ответ

0

... и, конечно же, дело было довольно глупо: каким-то образом (я должен смотреть на нашу историю слияния/мерзавца), то viewResolver bean, определенный в cas-servlet.xml, не имеет basenames свойство set.

5

В SpringSecurity 4.x, CasAuthenticationFilter по умолчаниюFilterProcessesUrl путь изменен. Итак, измените '/ j_spring_cas_security_check' на '/ login/cas' в Конфигурации.

+1

Это помогло мне использовать Spring Security 4. –

+0

этот действительно бросил меня, обновив путь, – chrismarx

Смежные вопросы