Web サービスに CAS 認証を統合し、Spring ベースの Web アプリケーションであるJasig CAS サーバー(v. 4.2) を使用しようとしています。
残念ながら、Jasig CAS サーバーは、ログインに成功した後のリダイレクトにサービス ID しか使用できません。CAS サーバーはリバース プロキシの背後にあり、DNS を使用していないため、受け入れられません。したがって、ログイン URL は次のようになります。
http://a.b.c.d/cas/login?service=http://x.x.x.x/context-path/auth-entry-point
どこ
- abcd - 外部 (プロキシ) IP アドレス
- xxxx - 内部 (サービス / CAS クライアント) IP アドレス
Jasig のドキュメントを読みましたが、サービス URL を難読化する方法が見つかりませんでした。今のところ、カスタム ロジックを実装しようとしています。別のパラメーターとしてリダイレクト URL を渡したい:
http://a.b.c.d/login?service=<serviceUID_like_YYY-YYY-YYY>&redirect=<base64_encoded_URL>
.. サービス ID の代わりにこのパラメータをリダイレクトに使用します。
doc Jasig CAS によると、Spring Webflow を使用してログイン シナリオ ( login-webflow.xml ) を実装します。そして、それがリダイレクトが発生した場所です:
<end-state id="redirectView" view="externalRedirect:#{requestScope.response.url}"/>
私はSpring Weblowに慣れていないので、質問は次のとおりです。
「リダイレクト」URL パラメータを受け取り、デコードしてリダイレクトに使用するにはどうすればよいですか?
PS下手な英語で申し訳ありませんが、少なくとも解析可能であることを願っています:-)