MediaWikiとJSPのWebサイト間のシングルサインオンを設定する方法
-
12-12-2019 - |
質問
これはJSPを使用してTomcatに展開されているウェブサイトを持っています。私が今やりたいことは、SSOシステムを使ってMediaWikiを設定することです。すなわち、私はユーザーが私の最初のサイトと私のMediaWikiに同じアカウントでアクセスすることをお勧めし、もう1つからもう一方へ移動するときにもう一度ログインする必要はありません。
現在2つのシステムは、LDAPシステムを使用してアカウントリストを共有しています(OpenLDAPを使ったセットアップ)。JSPで接続するときは、JSessionIDパラメータをCookieに保存し、MediaWikiに接続するときに3つのパラメータを格納するようです.Wikidb_Session、WikidBuserID、WikidBuserID。
セッションクッキーを共有する2つのシステムを作成するための最良の方法は何ですか?
アレクシス
解決
各アプリケーション(MediaWikiとJSPサイト)に独自のアプリケーションがあるため、セッションCookieを共有することはできません。
あなたがそれをあなたのアプリケーションのそれぞれによって使用される単一のサインオンモジュールを持つことができるもの。
あなたはJasig CAS(Central認証サービス)を見ることができます http://www.jasig.org/cas 。
-
認証を処理するCASサーバアプリケーションをインストールします。これは、すでにJSPサイトを実行している同じサーブレットエンジンにインストールできるJava Webアプリケーションです。 CASサーバーには、LDAPのような複数の認証ハンドラがあります。
-
JSPサイトにCASクライアントを追加します。 CASクライアントは、ユーザが認証されるCASサーバに認証されていないユーザにリダイレクトされたサーブレットフィルタとして利用可能であり、その後CASサーバはユーザを特別なパラメータ(サービスチケット)で初期アプリケーションにリダイレクトします。 CASクライアントフィルタは、パラメータを使用してCASサーバーに連絡してユーザーのログインを取得します。 JSPサイトの認証部分をCASサーバーに移動する必要があるため、あなたのために少しの作業が必要になる可能性があります。
-
あなたのMediaWikiにCASクライアントを追加します。 CASクライアントはPHPクライアント(PHPCAS)としても利用可能です。 MediaWikiはCASの準備ができているようです。 http://www.mediawiki.org/wiki/extension:CasAuthentication / a>