シングルサインオンのプロセスは、どのようにして実装されますか?
Shiroにおけるシングルサインオンのプロセスは以下の通りです:
- ユーザーがシステムAにアクセスすると、システムAはユーザーのCookieやセッションの有無を確認し、存在しない場合は統一認証センター(CAS)にリダイレクトしてログインする。
- CASはシステムAからのログインリクエストを受け取った後、ユーザーにユーザー名とパスワードの入力を求めて認証を行います。
- 統一認証センター(CAS)に認証が成功すると、チケットが生成され、CASサーバーに保存されます。
- 統合認証センター(CAS)は、そのチケットをシステムAに返します。
- システムAはそのバウチャーをユーザーのブラウザに送信し、Cookieに保存します。
- ユーザーがシステムBにアクセスすると、システムBはユーザーのCookieまたはSessionの有無をチェックし、存在しない場合は統一認証センター(CAS)にリダイレクトして検証を行います。
- CASは、システムBからの認証リクエストを受け取った後、そのチケットが有効かどうかを確認します。
- 統一認証センター(CAS)が認証に成功した場合、システムBにユーザーの身元情報を返し、システムBのチケットを生成します。
- システムBはその領収書をユーザーのブラウザに送信し、Cookieに保存します。
- 他のシステムC、システムDなどにアクセスし、ステップ6から9を繰り返すことで、シングルサインオンを実現します。
上記の手順により、ユーザーは1回のログインだけで異なるシステムにアクセスすることができ、毎回ユーザ名とパスワードを入力する必要はありません。統一認証センター(CAS)が認証と認可を担当し、各システムは統一認証センターとの通信のみが必要です。