AuthPlugin
Deprecated: Kullanımdan kaldırılmış bu özellik artık kullanılmamalıdır, ancak geriye dönük uyumluluk nedeniyle hala kullanılabilir. |
MediaWiki 1.26'ya kadar kimlik doğrulama eklentisi arayüzü.
Mevcut kimlik doğrulama eklentileri
IMAP, LDAP ve daha pek çok durum için mevcut kimlik doğrulama eklentileri vardır. Category:Kullanıcı kimliği uzantıları bu uzantıları listeler.
Yeni kimlik doğrulama eklentileri oluşturma
Kendi eklentinizi yazmanız gerekiyorsa adresindeki kaynak dokümana bakın. MediaWiki Kaynak Belgeleri (ayrıca en son kaynak koduna da bakınız)
Bir AuthPlugin alt sınıfını başlatın ve bir dış kaynağa karşı kimlik doğrulaması yapmak için $wgAuth ayarlayın.
Varsayılan davranış, hiçbir şey yapmamak ve tüm kimlik doğrulaması için yerel kullanıcı veritabanını kullanmaktır. Alt sınıf, tüm hesapların harici olarak kimlik doğrulaması yapılmasını veya bunu yalnızca yedek olarak kullanmasını gerektirebilir; ayrıca birisinin ilk kez oturum açtığında, harici olarak kimliğinin doğrulanabileceği şeffaf bir şekilde dahili viki hesapları oluşturabilirsiniz.
Geri çekilme
Yukarıda belirtildiği gibi, bir alt sınıf yerel (yani mediawiki db) kimlik doğrulamasına geri dönebilir. Bunu, strict() yöntemi çağrıldığında false döndürerek yapar. $wgUser nesnesi daha sonra gönderilen parolayı veritabanındaki parolayla karşılaştırmaya devam eder.
Ayrıntılar için bu include/User.php alıntısına, checkPassword() yöntemine bakın:
if( $wgAuth->authenticate( $this->getName(), $password ) ) { return true; } elseif( $wgAuth->strict() ) { /* Yetkilendirme eklentisi yerel kimlik doğrulamasına izin vermiyor */ return false; } elseif( $wgAuth->strictUserAuth( $this->getName() ) ) { /* Yetkilendirme eklentisi bu kullanıcı adı için yerel kimlik doğrulamasına izin vermiyor */ return false; } if ( self::comparePasswords( $this->mPassword, $password, $this->mId ) ) { return true;
Gördüğünüz gibi, AuthPlugin'in yalnızca belirli kullanıcı bir sonraki strictUserAuth() çağrıldığında false döndürerek yerel olarak saklanan şifrelerine geri dönmesine izin vermek bile mümkündür.
Notlar
- Kullanıcı adı, işleve geçirilmeden önce MediaWiki tarafından çevrilir: İlk harf büyük harf olur, alt çizgi '_' boşluk olur.
- autoCreate() işlevi true değerini döndürürse (MediaWiki kullanıcı için yerel bir hesap oluşturmalıdır) updateExternalDB ($user) yine de çağrılır. Bu eklentinin kullanıcı ayarlarını harici veritabanı ile senkronize etmesine izin vermektir. MediaExiki'nin ayarları yerel hesapta depolaması için updateExternalDB() yöntemi true değerine dönmelidir.
- AuthPlugin->userExists(...), kullanıcı zaten viki DataBase'de saklandığında çağrılmaz.
Kurulum
Dosyaları LocalSettings.php dosyasına aşağıdakine benzer bir şey eklemek yerine uzantılar klasörüne (tercihen bir alt klasör) koyun.
require_once( "$IP/extensions/MyAuthPlugin/MyAuthPlugin.php" );
$wgAuth = new MyAuthPlugin();
Dış Oturumlar
Bazı harici oturum yönetim şemasına göre oturum açma durumunu kontrol etmek için AutoAuthenticate hook (MediaWiki 1.5 - 1.12) veya UserLoadFromSession (MediaWiki 1.13'ten beri) kullanın. Ayrıca UserLoadAfterLoadFromSession kullanabilirsiniz (MediaWiki 1.14'ten beri). Bu kancalar, basit hesap paylaşımına ek olarak tek oturum açma kurulumunu uygulamak için kullanılabilir.