Extension:LDAPAuthentication2

This page is a translated version of the page Extension:LDAPAuthentication2 and the translation is 23% complete.
この拡張機能は LDAP Stack の一部であり、先に LDAPProvider 拡張機能をインストールする必要があります。
この拡張機能では、先に PluggableAuth 拡張機能をインストールする必要があります。
MediaWiki 拡張機能マニュアル
LDAPAuthentication2
リリースの状態: 安定
実装 利用者識別
作者
最新バージョン 1.0.1
互換性の方針 長期間サポート リリースであるすべての MediaWiki リリースについて、拡張機能に対応するブランチが存在します。
MediaWiki 1.31+
Composer mediawiki/ldap-authentication-2
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
  • $LDAPAuthentication2AllowLocalLogin
  • $LDAPAuthentication2UsernameNormalizer
四半期ごとのダウンロード数 444 (Ranked 7th)
translatewiki.net で翻訳を利用できる場合は、LDAPAuthentication2 拡張機能の翻訳にご協力ください
問題点 未解決のタスク · バグを報告

インストール

  • ダウンロードして、ファイルをextensions/フォルダー内のLDAPAuthentication2という名前のディレクトリ内に配置します。
    開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LDAPAuthentication2
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'LDAPAuthentication2' );
    
  • 必要に応じて設定します。
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

設定

拡張機能の設定

$LDAPAuthentication2AllowLocalLogin
Whether or not to display a "local" pseudo-domain in the domain selector on "Special:Login", thus allowing to authenticate against the local user database. (defaults to false )
$LDAPAuthentication2UsernameNormalizer
Use this function for normalizing username for LDAP, for example 'strtolower'. Needed after migration from earlier Version. (defaults to "" )

ドメイン設定

authentication.usernameattribute
The LDAP user object attribute name that should be used as a local wiki user username (defaults to "samaccountname")
authentication.realnameattribute
The LDAP user object attribute name that should be used as a local wiki user realname (defaults to "cn")
authentication.emailattribute
The LDAP user object attribute name that should be used as e-mail address for the local wiki user (defaults to "mail")

バージョン化

LDAP Stack Extensions are targeted/qualified for MediaWiki LTS releases only.
However, this table helps to determine which extension-releases to use across all recent versions.

MediaWiki リリース Recommended Extension Version テストの状態 最終テスト日
1.35 (LTS) LDAPxxx_master テスト済 2020年3月

参考文献

Migration from PluggableAuth 5

In REL1_39 branch LDAPAuthentication2 was adapted to PluggableAuth 6.

So in case of migration from REL1_35-REL1_38 (PluggableAuth 5) to REL1_39 (PluggableAuth 6) some configuration needs to be changed. Here is the example of the old configuration:

// In any case we need to specify LDAP domain configs
$LDAPProviderDomainConfigs = "$IP/../ldapprovider.json";

// Local login is enabled
$wgPluggableAuth_EnableLocalLogin = true;
$LDAPAuthentication2AllowLocalLogin = true;
...
$wgPluggableAuth_Class = "MediaWiki\\Extension\\LDAPAuthentication2\\PluggableAuth";
$wgPluggableAuth_ButtonLabel = "Log In (PluggableAuth)";

As a result, "Log In (PluggableAuth)" login button will appear on login page, with "domains" dropdown.

Domains list is obtained from the domain configs file. Let's assume that we have "ldap1" and "ldap2" domains configured there, still it is not reflected in PluggableAuth 5 configuration.

Here is how such configuration should be changed to be compatible with PluggableAuth 6:

// In any case we need to specify LDAP domain configs
$LDAPProviderDomainConfigs = "$IP/../ldapprovider.json";

// If local login is supported as well, then these globals are still needed
$wgPluggableAuth_EnableLocalLogin = true;
$LDAPAuthentication2AllowLocalLogin = true;
...
$wgPluggableAuth_Config['Log In (LDAP1)'] = [
    'plugin' => 'LDAPAuthentication2',
    'data' => [
        'domain' => 'ldap1'
    ]
];

$wgPluggableAuth_Config['Log In (LDAP2)'] = [
    'plugin' => 'LDAPAuthentication2',
    'data' => [
        'domain' => 'ldap2'
    ]
];

Here "ldap1" and "ldap2" are domains which are configured in domain configs file.

As a result, "Log In (LDAP1)" and "Log In (LDAP2)" login buttons will appear on login page.

So the main difference is that:

  • There is only one login button per LDAP domain.
  • Now $wgPluggableAuth_Config global should be used.
  • $wgPluggableAuth_Class global is not used anymore.