CAS がどのように機能するのか疑問に思っています (ワークフローが必要です)。想像:
- ユーザーは、App1 (example.com/app1 など) で CAS を使用して認証します。
- ユーザーは別のアプリケーション (example.com/app2) に移動します。
すべてのアプリケーションは、ページの上部にユーザーの名前を表示する必要があります。彼らはどのようにそれを知っていますか?1 つのアプリケーションのみの場合、ワークフローは非常に明確です。
- App1: ユーザーが認証なしでページを閲覧している間、「ログイン」リンクをユーザー名として表示するだけです。
- App1: ある瞬間、ユーザーがログインを押します。
- App1: ユーザーを CAS にリダイレクトします
- CAS: ユーザーのログイン/パスを要求します
- CAS: ユーザーがログイン/パスを入力
- CAS: ユーザーを App1 にリダイレクトします。
- App1: CAS からトークンとユーザー名 (または ID) を取得し、このユーザーにいくつかの権限を付与します。終わり。
しかし今: App2 (App3 など) は、ユーザーが既に認証されていることをどのように認識するのでしょうか? ユーザーがすでに認証されており、自分の名前を要求しているかどうかを知るためだけに、すべてのページから CAS にユーザーをリダイレクトする必要がありますか?
Spring の場合、次のような独立したアプリケーションがいくつかありますが、それは巨大なリダイレクトになります。
example.com/App1
example.com/App2
...
example.com/AppN