ja:tips:commonlogin
同じサーバ上の Wiki 間で認証データを共有する
こういうシナリオを想定します。 同じサーバー上に複数のウィキを設置して、ユーザーは一度だけログインする。 このシングルサインオンのシナリオのためには、次のことを行う必要があります。
inc/init.php
の中のDOKU_COOKIE
の定義を、例えばmd5('commoncookie')
のような、全て同じインスタンスに変更します。DOKU_COOKIE
は、ログイン済のユーザーが格納される cookie の名前です。Dokuwiki 標準的なインストール状態では、それは(パスを含む)完全な URL のハッシュになっています。inc/auth.php
内で呼ばれる二箇所のsetcookie
内で、DOKU_REL
を'/'
に変更します。 これにより、唯一の cookie がサーバー上の全てのインスタンスに送られることが保証されます。data/meta/_htcookiesalt
ファイルの内容は、すべてのインスタンスで同じでなければなりません。ファイルはユーザーが最初にログインした時に作成され、その後、同じ内容のままです。- ユーザー情報を共有するために、一つのウィキを「主」ウィキと宣言します。「従」ウィキ内の
conf/users.auth.php
ファイルは、「主」ウィキ内のこのファイルへのシンボリックリンクする必要があります。もし、似たような名前空間の構造な場合や複雑なアクセス制御リストの設定を必要としない場合、conf/acl.auth.php
ファイルを共有することも可能です。
ja/tips/commonlogin.txt · 最終更新: 2010-11-03 04:16 by 124.210.68.116