3

現在、JBoss EAP 6.3.0 サーバーに CAS 4.0.1 をデプロイしようとしています。

認証のために CAS を呼び出すサービスに応じて、特定のログイン フォームにリダイレクトするために、ログイン Webflow がカスタマイズされました。これらのフォームに応じて、特定の認証ハンドラーと特定の資格情報モデルを使用します。それに加えて、構成はかなり標準的です。

現在、次の問題が発生しています。ユーザーが CAS によって保護されたサービスにアクセスしようとすると、ポータルに正しくリダイレ​​クトされ、期待されるログイン ビューがレンダリングされます。ログインに成功すると、サービス チケットはサービス側の認証フィルター (標準の j_spring_cas_security_check) に配信され、CAS のチケット レジストリに対して正常に検証されます。CAS が cas2ServiceSuccessView をレンダリングしていることをログで確認できます。ただし、期待される XML 応答を配信する代わりに、ユーザーはログイン フォームにリダイレクトされます。次に、cas2ServiceSuccessView の後に実際に 404 エラーが発生していることを確認しました...何がそのような動作を引き起こす可能性があるか、何が間違っている可能性がありますか?

ST 検証のために CAS を呼び出す方法に関係なく、同じエラーが発生することに注意してください: /serviceValidate?ticket=ST-YYY&service=XXX を介して手動で行うか、サービス側の /j_spring_cas_security_check を介して行うか...

編集: Tomcat 7 で CAS を実行すると同じ動作になります。

前もって感謝します。

取得しているデバッグ ログの下:

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'
4

2 に答える 2

0

...そしてもちろん、原因はかなりばかげていました:どういうわけか(マージ/git履歴を確認する必要があります)、cas-servlet.xmlで定義されたviewResolver Beanにbasenamesプロパティが設定されていませんでした。

于 2015-06-04T09:35:31.710 に答える