Manual:中央管理 ID

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Central ID and the translation is 100% complete.
Other languages:
English • ‎中文 • ‎日本語

中央管理IDはあらゆるウィキで利用者を識別します。 単一ウィキのインストールでは利用者IDと同一です。wikiファームはある種の単一サインオンを利用しており、割り当てにはおそらく認証拡張機能が使われています。 サイト管理者が行う設定は、$wgCentralIdLookupProvider で操作します。

中央管理ID発行機能を使う

ウィキ間で利用できると有利なデータ(例えば認証や認証の詳細やウィキ間ブロック)を利用するコードはすべて、ローカル利用者IDに代わり中央管理IDを保存し、ローカル利用者名と中央管理IDの変換管理にCentralIdLookupクラスを利用するべきです。

それら拡張機能ではさらに、そのデータを集中保存できるようにするべきです。 通常、これは設定オプションをデータベース(ウィキID)とクラスタ用に提供して実行します。どちらも既定値はfalseに設定し、データベースへの接続は、以下と同様の処理を実行します。

$lb = \MediaWiki\MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->getExternalLB( $cluster, $wikiId );
$db = $lb->getConnectionRef( DB_MASTER, [], $wikiId );

中央管理IDを利用するコード生成の例は、BotPasswordsを参照します。

基本例

既定の中央管理ID参照発行機能を入手する方法。

$lookup = CentralIdLookup::factory();

ローカル利用者IDから中央管理IDを取得する方法。

$centralId = $lookup->centralIdFromLocalUser( $user );

中央管理ID発行機能を作成

単一ログインの拡張機能では、CentralIdLookup のサブクラスを実装し、そのクラスを $wgCentralIdLookupProviders に登録すべきです。

中央管理IDを提供する単一ログイン拡張機能の例は、Extension:CentralAuth にあるCentralAuthIdLookupを参照してください。 この種の拡張機能すべてを一覧するには、Category:CentralIdLookup providers を参照してください。