ringa_lee2017-04-18 10:07:43
CAS 現在、ほとんどの SSO は CAS ソリューションを採用しています。
SSO フローチャート
SSO は cookie
を使用して実装されます。簡単に言うと、ログイン後、認証情報がcookie
に保存されます。 app
リクエストがある場合、まず自分のアプリケーションにログインしているかどうかを確認できます。ログインしていない場合は、認証システムにジャンプします。このとき、認証システムは、ログイン情報があれば、要求元のシステムにジャンプします。 cookie
天蓬老师2017-04-18 10:07:43
@kevinz のアドバイスに感謝し、現在は次の方法を使用しています:
各 APP は認証 (Authentication) に Tomcat JDBCRealm を使用しますが、認可には Spring Security を使用します。どちらも同じユーザー情報データベースに基づいています。
Tomcat で SSO をオンにします -- これは非常に重要です。そうしないと、同じドメイン内の他の Web アプリにアクセスするときに Cookie が取得されず、認証ができなくなります。
各 Web アプリで、認証に Tomcat を使用するように Web.xml を構成します -- Spring が認証に使用される場合、Tomcat の SSO は機能しません
各 Web アプリで Spring を設定し、権限制御 (Authorization) に J2eePreAuthenticatedProcessingFilter を使用します
spring.xml の設定
リーリー