中心ID（central ID）标识跨wiki用户。 On single-wiki installations it is the same as the user ID; on wiki farms which use some kind of single sign-on, it's probably assigned by the authentication extension. Site admins can configure it by setting $wgCentralIdLookupProvider.
Using a central ID provider
Any code that interacts with data that would benefit from being available cross-wiki (e.g. authentication and authorization details, cross-wiki blocks) should, instead of storing local user IDs, store the central ID and use theclass to convert between local usernames and central IDs.
Such extensions should also allow their data to be stored centrally. Typically this is done by providing a configuration option for database (wiki ID) and one for cluster, both defaulting to false, and doing something like this to get a database connection:
$lb = \MediaWiki\MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->getExternalLB( $cluster, $wikiId ); $db = $lb->getConnectionRef( DB_MASTER, , $wikiId );
For an example of code making use of central IDs, see.
Obtaining the default Central ID Lookup provider:
$lookup = \MediaWiki\MediaWikiServices::getInstance()->getCentralIdLookup();
Obtaining the central ID from a local user:
$centralId = $lookup->centralIdFromLocalUser( $user );
Writing a central ID provider
Single sign-on extensions should implement a subclass of
CentralIdLookup and register it in $wgCentralIdLookupProviders.