1

cassified Spring アプリケーションがあります (フィルターを使用し、正常に実行されています)。

このアプリケーションは、REST を介して複数の外部サービス (Bonita、W4 など) にクエリを実行する必要があります。これらの他のサービスも分類されます。

わかった。

今、春のアプリケーションから CAS TICKET を回復して、これらの他のサービスのプロキシ チケットを生成する必要がありますが、チケットを取得する方法がわかりません。この URL を使用して、これらのサービスのチケットをリクエストしようとしました。

https://[cas-service]/login?service=[service]&gateway=true

このコマンドは (リダイレクト経由で) チケットを返しますが、Spring アプリケーションの CAS フィルターがこのリダイレクトをインターセプトし、返されたパラメーターを取得できません。

http://[service-url]?ticket=ST-....  

にリダイレクトされました

http://[service-url]

現在のユーザーを別のサービスに検証するためのチケットを取得するにはどうすればよいですか?

ありがとうございました!!

PD: 私の限られた英語で申し訳ありません... :)

4

1 に答える 1

1
SecurityContext ctx=SecurityContextHolder.getContext();
CasAuthenticationToken casToken=(CasAuthenticationToken) ctx.getAuthentication();
Assertion assertion=casToken.getAssertion();
user_fullName=(String) assertion.getAttributes().get("FullName");

セキュリティ コンテキストから、認証された CAS トークン オブジェクトを取得できます。SAML 応答があります。CAS トークン オブジェクトには、SAML 応答の詳細が含まれています。CAS トークン オブジェクトにクエリを実行して ASSERTION を取得し、それをアプリで使用できます。

于 2013-03-21T08:22:31.753 に答える