2016-04-26 25 views
1

私はSpring SAMLでGrailsアプリケーションを、IdPとしてWSO2 ISを持っています。SPのセッションタイムアウト後にユーザをログインページにリダイレクト

セッションタイムアウト後、UIがページを更新し、ユーザーがログインページにリダイレクトされます。ユーザーがページを長時間開いたままにしておくと、機密情報が他のユーザーに見られないように保護されます。

しかし、私たちがSSOを実装した後、このメカニズムはもはや機能しません。セッションタイムアウトページがリロードされ、IDPが自動的に再認証した後です。

私が理解するように、IdPとSPの2つのセッションがあります。 SPのセッションが無効になっても、IDPはまだ生きています。

セッションタイムアウト後にユーザーをSSOログインページにリダイレクトすることはできますか? SSOを使用してセッションタイムアウトを処理する方法のベストプラクティスがありますか?

+0

使用しているIDサーバーのバージョンは? Identity Server管理コンソールを使用してIDサーバーにSPを作成しましたか? –

+0

@ChamilaWijayarathna私はV4.6.0を使用しています。はい、SPは "新しいサービスプロバイダの登録"ページにIS管理コンソール –

答えて

0

それはSSOを使用してセッションを同期させるためにIMPOSIBLEだように見えたので、私は、SPセッションとIdPのセッションに同じ値を設定することを決めました。それは完璧な解決策ではありませんが、少なくとも動作は予想と似ています

1

このシナリオを実行するには、SPがログアウト要求を発行する必要があります。 Spring SAMLは、シングルおよびローカルログアウトをサポートしています。ローカルログアウトの場合、他のSPセッションのいずれも影響を受けず、IDPもなく、現在のSPのセッションだけがログアウトされます。シングルログアウトの場合、IDPはすべてのSPにセッションを終了するよう指示し、IDPセッションも終了します。いずれの場合も、セッションがタイムアウトすると、SPからの要求がある必要があります。

詳しい情報はこちら:http://docs.spring.io/autorepo/docs/spring-security-saml/1.0.x-SNAPSHOT/reference/htmlsingle/#configuration-logout

+0

を使用して登録されましたが、複数のSPがある場合はどうなりますか?セッションタイムアウト後にユーザーが認証されず、SSOログインページにリダイレクトする必要がありますが、このユーザーが認証されている他のSPではリダイレクトする必要があります。これはSSOのアイデアを破っていませんか? –

+0

@TarasKohut response.assertion.authnStatement.sessionNotOnOfAfterを見てください。しかし、これはすべてあなたのSP実装にまで及んでいます。 SPの観点から、ログアウトを実行するようにIdPに具体的に伝える必要があるかもしれません。これがグローバルログアウトである場合、IdPはセッションを終了する必要があることを他のSPに通知します。 – Nikolai

+0

私はあなたのソリューションを試しましたが、実際にSPリクエストの後にローカルログアウトユーザーがログインページにリダイレクトされ、SSOセッションが有効なのでSPが再認証されます。これは、グローバルセッションが存在するまで自動ログインせずにログインページにリダイレクトすることは不可能なようです。または私は何かを逃している? –

関連する問題