1

これがそれです:私はJSPを使用し、TomcatにデプロイされたWebサイトを持っています。私が今やりたいのは、ssoシステムでMediaWikiをセットアップすることです。つまり、ユーザーが同じアカウントで最初のサイトとMediaWikiにアクセスできるようにし、一方から他方に移動するときに再度ログインする必要がないようにします。

現在、2つのシステムはLdapシステム(openldapでセットアップ)を使用してアカウントリストを共有しています。JSPに接続する場合、JSESSIONIDパラメーターをCookieに格納し、MediaWikiに接続する場合、wikidb_session、wikidbUserID、およびwikidbUserNameの3つのパラメーターを格納するように見えます。

2つのシステムでセッションCookieを共有するための最良の方法は何ですか?

アレクシス

4

1 に答える 1

2

各アプリケーション(MediawikiとJSPサイト)には独自のものがあるため、セッションCookieを共有することはできません。

できることは、各アプリケーションで使用できるシングルサインオンモジュールを用意することです。

JASIG CAS(Central Authentication Service)http://www.jasig.org/casをご覧ください。

手順:

  1. 認証を処理するCASサーバーアプリケーションをインストールします。これは、JSPサイトをすでに実行している同じサーブレットエンジンにインストールできるJavaWebアプリケーションです。CASサーバーには、LDAPのような複数の認証ハンドラーがあります。

  2. CASクライアントをJSPサイトに追加します。CASクライアントは、認証されていないユーザーを認証するCASサーバーにリダイレクトするサーブレットフィルターとして使用できます。次に、CASサーバーは、特別なパラメーター(サービスチケット)を使用してユーザーを最初のアプリケーションにリダイレクトします。CASクライアントフィルターは、パラメーターを使用してCASサーバーに接続し、ユーザーのログインを取得します。JSPサイトの認証部分をCASサーバーに移動する必要があるため、少し作業が必要になる場合があります。

  3. CASクライアントをMediawikiに追加します。CASクライアントはPHPクライアント(PHPCas)としても利用できます。MediawikiはCAS対応のようです:http ://www.mediawiki.org/wiki/Extension:CASAuthentication

于 2012-05-30T14:30:37.477 に答える