SSO認証サーバの実現原理(一)

1138 ワード

単一のWebアプリケーションのログインは、主に認証、授権、セッションの確立、セッションのキャンセルなどのいくつかの重要な一環に関連しています.マルチシステムでは、各システムは認証、認証、セッション確立のキャンセルなどの作業にも関連します.では、各システムの認証作業を抽象化し、個別のサービスアプリケーションに処理し、この認証作業を担当するシステムを認証センターと呼んでいます.
次の2つの概念、ローカル変数、グローバルセッションを宣言します.
≪ローカル・セッション|Local Sessions|ldap≫:ブラウザ・クライアントとアプリケーション・システムの間で保持されているセッション.
≪グローバル・セッション|Global Sessions|ldap≫:ブラウザ・クライアントと認証センターのセッション.
単一のログインssoを実装するには、いくつかの問題を考慮する必要があります.
1、アプリケーションシステムは登録認証の仕事を認証センターに渡しますか?---ここではhttpのリダイレクトを採用し、クライアントの要求を認証センターにリダイレクトすることができます.
2、ユーザーは認証センターにログインした後、どのように処理結果をアプリケーションシステムに渡しますか?---httpプロトコルが情報を伝達する方法は2つあり、cookieとパラメータの2つあり、cookieはここでドメイン間の問題に直面することがあります.では、パラメータの伝達方式を採用して、パラメータをトークン(token)伝達にするしかありません.
3、アプリケーションシステムはどのようにこのトークンが認証センターから発行された有効なトークンであることを識別することができますか?---ブラウザを介さず、キャプチャが困難であり、比較的安全であるため、アプリケーションシステムが認証センターとサービス側通信を行う必要があります.
4、ログイン状態の判断---前述のローカルセッションとグローバルセッションを通して
5、登录の问题---クライアントが登录の操作を実行して、どのように他のシステムにアクセスする时に状态が一致することを保证して、以下私は登录の过程を简単に说明して、一、クライアントは登录の要求を出して、アプリケーションシステムに到着することを要求して、アプリケーションシステムは认证センターにリダイレクトして、アプリケーションシステムはクライアントに登录の成功を教えて、認証センターがブロードキャストした形式は、すべてのユーザがアプリケーションシステムにアクセスし、そのユーザがログインしたことを通知する.