Manual:中央管理 ID
中央管理IDはあらゆるウィキで利用者を識別します。 単一ウィキのインストールでは利用者IDと同一です。wikiファームはある種の単一サインオンを利用しており、割り当てにはおそらく認証拡張機能が使われています。 サイト管理者が行う設定は、$wgCentralIdLookupProvider で操作します。
中央管理ID発行機能を使う
ウィキ間で利用できると有利なデータ(例えば認証や認証の詳細やウィキ間ブロック)を利用するコードはすべて、ローカル利用者IDに代わり中央管理IDを保存し、ローカル利用者名と中央管理IDの変換管理にCentralIdLookupクラスを利用するべきです。
それら拡張機能ではさらに、そのデータを集中保存できるようにするべきです。 通常、これは仮想ドメインを提供し、以下と同様の処理を実行してデータベースに接続します。
MediaWiki バージョン: | ≧ 1.42 |
$db = \MediaWiki\MediaWikiServices::getInstance()->getConnectionProvider()->getPrimaryDatabase( 'virtual-myextension' );
(in MW 1.40-1.41, use getDBLoadBalancerFactory()
rather than getConnectionProvider
)
中央管理 ID を使用するコードの例は、SpecialBotPasswords を参照してください。
基本例
既定の中央管理ID参照発行機能を入手する方法。
$lookup = \MediaWiki\MediaWikiServices::getInstance()->getCentralIdLookup();
ローカル利用者IDから中央管理IDを取得する方法。
$centralId = $lookup->centralIdFromLocalUser( $user );
中央管理ID発行機能を作成
単一ログインの拡張機能では、CentralIdLookup
のサブクラスを実装し、そのクラスを $wgCentralIdLookupProviders に登録すべきです。
中央管理 ID を提供するシングル サインオン拡張機能の例は、Extension:CentralAuth にある CentralAuthIdLookup
を参照してください。
この種の拡張機能すべてを一覧するには、Category:CentralIdLookup providers を参照してください。