Extension:AccessControl

This page is a translated version of the page Extension:AccessControl and the translation is 100% complete.
Other languages:
English • ‎Türkçe • ‎français • ‎čeština • ‎日本語
AccessControl 3.0.1 is released. You may get code from my git (or tarball):
git clone https://www.thewoodcraft.org/pub/wiki/accesscontrol.git AccessControl

Manual (in czech language for now) here as wiki page, but is prepared for translation. If you want to contribute to creating an English version, you can donate any money for pay a commercial translator, because I have not time for it. On page AccessControl translation, is the PayPal button and bellow is preliminary calculation (in CZK) based on count of chars. The man page translations will be part of the source code as the Czech version for now, and can be imported into your private MediaWiki instance.

--Want (talk) 11:06, 27 May 2020 (UTC)
MediaWiki manüel uzantıları
OOjs UI icon advanced.svg
AccessControl
Sürüm durumu: kararlı
Uygulama Kullanıcı hakları , Ayrıştırıcı uzantısı , Etiket
Açıklama Kullanıcı gruplarından dahili gruplara veya grup listelerine dayalı olarak belirli sayfalara erişimin kısıtlanmasına izin verir
Yazar(lar) Aleš Kapica (Wanttalk)
En son sürüm 3.0.1 (2020-05-27)
Uyumluluk politikası usta
MediaWiki 1.29+
PHP 7.2+
Veritabanı değişiklikleri Evet
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir https://www.thewoodcraft.org/pub/wiki/ac-3.0.1.tar.gz
Örnek DCEwiki or Thewoodcraft.org
  • $wgAdminCanReadAll
  • $wgAccessControlRedirect
<accesscontrol> (not need anymore)
Kullanım ve sürüm matrisini kontrol edin.
Sorunlar Açık görevler · Hata bildir

AccessControl uzantısı, dahili gruplara veya grup listelerine dayalı olarak belirli sayfalara kullanıcı alanından erişimi kısıtlar.

MediaWiki varsayılan durumunda bir İçerik Yönetim Sistemi (CMS) olarak tasarlanmamıştır, ancak kurumsal veya okul interneti olarak kullanıldığında hassas verilerin korunması gerekir. AccessControl bu amaç için geliştirilmiştir.

Bu uzantı site güvenliği gereksinimlerini nasıl karşılıyor

  Uyarı: MediaWiki'nin son kararlı sürümünü kullanmanız önerilir, çünkü MediaWiki'nin eski sürümleri farklı yöntemlerle atlanabilir!
Atom/RSS beslemeleri, fark ve düzeltme bağlantıları
Sayfa içeriği korunur, ancak geçmişten bir sayfa açıldığında bir ham içerik görünür. <accesscontrol> etiketi en başa yerleştirildiyse, potansiyel bir saldırgan katkıda bulunan kullanıcıların adlarını görebilir!
Listeler ve arama
Aksi belirtilmedikçe, arama sonuçlarında korumalı içeriğe sahip herhangi bir sayfa varsa, kullanıcı yönlendirilir. Uzantı 2.5 sürümünden beri, aramaya da izin verilebilir. Ancak, görüntülenen arama sonuçlarının hassas verilerden ödün verebileceği akılda tutulmalıdır. Bu nedenle, bir erişim kontrolü ile korunan sayfaların içeriğinde arama yapılmasına izin verilirse, tam metin araması yoluyla elde edilebilecek, viki gibi parola gibi hassas bilgileri yazmayın!
Ekleme/dönüştürme, ilgili haklar ve diğer uzantılar
<accesscontrol> etiketini içeren veya <accesscontrol> etiketi tarafından korunan başka bir sayfa içeren sayfalar güvenlidir. <accesscontrol> etiketi, HTML dönüşümünden önce ham vikimetinde işlenir. Erişim kontrolü ile korunan sayfalara izin verilir!
  Uyarı: DynamicPageList (üçüncü taraf) kullanırken, ayrıştırıcı vikimetini analiz etmeden önce bu uzantının içerik sayfalarından seçildiğini bilmelisiniz. Oluşturulan sayfaların bir <accesscontrol> etiketi ile korunması, yeni sayfanın içeriğine dahil edilen etikete bağlıdır.
Yönlendirmeler
Yeniden yönlendirme sorunu sürüm 1.1'de onarıldı
API ve eylem bağlantıları
Her anonim kullanıcı için, korumasız sayfaların görünüm özelliğinin yanı sıra, eylem sınıfı otomatik olarak false değerine ayarlanır. Yetkili kullanıcılar için izin verilen eylemler, MediaWiki'nin izin ayarlarına ve erişim listesi sayfalarında listelenen kullanıcı adına bağlıdır.
Bölümü ve izleme sayfalarını düzenle
Seçenekler yalnızca kayıtlı kullanıcılar giriş yapmışsa ve güvenlik erişim listesindeyse kullanılabilir.
Dosyalar ve resimler
Uyarı: AccessControl uzantısı, dosyaları URL yoluyla doğrudan erişime karşı korumaz! Dosyalar herkese açık olarak kullanılamıyorsa, sunucu düzeyinde korunmaları gerekir!
XML aktarımı (Special
Export): Uyarı: AccessControl sürüm < 2.0, sayfaları ham koda vermeden önce MediaWiki tarafından korunmayan bir kancaya dayanıyordu. Bu nedenle, AccessControl < 2.0 sürümünü kullanıyorsanız, sayfaların MediaWiki'den dışa aktarılmasını yasaklamak için özel sayfayı yasaklamanız gerekir.
Yazar arka kapı
AccessControl uzantısı arka kapısı yok!
Önbellek
Önbelleği kapatmanızı öneririm. Önceki paragraflara bakınız.

Güvenlikle ilgili olası sorunlar hakkında daha fazla bilgi Yetkilendirme uzantılarıyla ilgili güvenlik sorunları sayfada.

Özellikler

Sürüm 2.1'den bu yana, uzantı gömülü sayfayı veya şablonu da inceler.
  • Kurulumu kolay ve kullanımı basit.
  • MediaWiki çekirdeğine yama yok.
  • Sınırsız grup.
  • Çift modlu erişim kontrolü:
    • Görünüm kontrolü.
    • URL'de action=edit kullanırken manüel düzenleme erişimiyle ilgili kısıtlamalar dahil düzenleme denetimi.
  • Kullanıcı grupları herhangi bir ad alanı kullanabilir.
    • Grup listeli ad alanları başka bir uzantı tarafından korunuyor olabilir.
  • MediaWiki sysop grubu korunan sayfaları görüntüleyebilir ve düzenleyebilir.
    • $wgAdminCanReadAll uzantı değişkeni tarafından denetlenir
  • Birden fazla gruba erişim izni verilebilir
  • Hem gruplara hem de tek tek kullanıcılara salt okunur erişim izni verilebilir.
  • Yetkisiz kullanıcılar arama özelliğini yalnızca izin verilirse kullanabilir. Bu uzantı site güvenliği gereksinimlerini nasıl karşılar bölümüne bakın.

Belgelendirme

Uzantı dosyasını https://github.com/wikimedia/mediawiki-extensions-AccessControl adresinden indirin. Mediawiki\htdocs\extensions dizininize kaydedin.

Kurulum

1. Adım: Yerel Ayarlar Dosyası

  • LocalSettings.php dosyanızın altına aşağıdaki satırları ekleyin:
require_once "extensions/AccessControl/AccessControl.php";

#if this one can't run it you can try this

wfLoadExtension( 'AccessControl' );
  • Grup oluşturmak amacıyla LocalSettings.php dosyasına bir ad alanı ekleyin.
  • AccessControl.php'deki ayarları kontrol edin. Bunlar LocalSettings.php'de ayarlanabilir:
$wgAdminCanReadAll = true;			// sysop users can read all restricted pages
$wgAccessControlRedirect = false;	// don't redirect from page with search results for denied and
									// anonymous users, if searching pattern is validate on any
									// protected page.

2. Adım: Kullanıcı Grupları Oluşturun

  • Bu yöntemde en son sürümde değişiklikler var, lütfen bu sayfanın altındaki not 1'e bakın. (Kullanıcı listeleri ana ad alanında saklanmalıdır).

Kullanıcı grupları, varsayılan ad alanı dışındaki bir ad alanının parçası olan standart viki sayfalarıdır. Kullanım kolaylığı için, erişim kontrol listesi sayfalarının açık bir şekilde yönetilmesi amacıyla belirli bir özel ad alanının oluşturulması önerilir.

  • Herhangi bir ad alanında bir kullanıcı listesiyle bir viki sayfası oluşturun[1]
    • Adında iki nokta üst üste (:) bulunan bir sayfa oluşturmak yeterli değildir, bu uzantı bir ad alanı ve ad alanları içinde bir veya daha fazla sayfanın kullanılmasını gerektirir.
    • Sayfa Adı Örneği: Benim:Grup
      • Ad alanı Benim
      • Grup sayfası Grup
        • Bu, kullanıcı grubunun adıdır
        • Kullanıcılar gruba madde işaretli bir listede eklenir
    • Sayfa İçeriği Örneği
      • IT ad alanının var olduğunu varsayın
        • v3.0'da ayrıca ad alanı IT'yi LocalSettings.php'de kaydetmeniz gerektiğini unutmayın. ör. $wgAccessControlNamespaces = array(NS_IT); veya extension.json dosyasını değiştirin. Ayrıca IT: erişim kontrol etiketinde belirtilmemeli, yalnızca "Bölüm"
      • "Bölüm" başlıklı ad alanında bir sayfa oluşturun
      • Grupta kullanıcılar "John Doe" ve "Jane Doe" oluşturun. Grup bilgileri "Departman" sayfasında bulunur.
      • Her kullanıcı adı bir liste öğesi olarak görünür.
* John Doe
* Jane Doe (ro)
Sonunda "(ro)" ile listelenen kullanıcı adları yalnızca korumalı maddeyi okuyabilir, düzenleyemez. Diğer kullanıcı grupları için, başka bir ad alanında Department adıyla başka bir üye listesi oluşturabilirsiniz. Kullanıcı adının büyük harfle başlaması gerektiğini unutmayın!
İpuçlar
IT ad alanını korumak için Lockdown uzantısını kullanabilirsiniz, ancak onu korumak için <accesscontrol> etiketini de kullanabilirsiniz.

3. Adım: Ek Erişim Kontrolü

  • Yerelleştirmeye bağlı olarak, vikinizin anonim veya yetkisiz kullanıcıların yönlendirileceği sayfalara ihtiyacı vardır. Bunları önceden oluşturmanız gerekir çünkü bazıları başka bir sayfadaki sayfalara erişemez.
  • Sayfanın güvenliği & lt;accesscontrol> etiketi ile sağlanır. Bir etiket yoksa veya sayfa boşsa, sayfayı okuyabilen ve düzenleyebilen oturum açmış kullanıcılar için serbestçe erişilebilir. Oturum açmış veya anonim hiçbir kullanıcının salt okunur erişimi olmayacaktır.
  • <accesscontrol> etiketinde listelenen grupların üyeleri, yalnızca grup başlığı "(ro)" ile listelenmemişse ve grup üye listesinde salt okunur erişim ayarlarına sahip değilse sayfayı düzenleyebilir.
  • Varsayılan olarak $wgAdminCanReadAll değişkeni, sysop üyelerinin herhangi bir ad alanındaki kullanıcı grubu sayfalarını düzenleyebilmesi için true olarak ayarlanmıştır.
  Uyarı: "false" olarak ayarlandığında, "sysop" üyeleri & lt;accesscontrol> etiketi ile korunan sayfaları okuyamaz ve düzenleyemez, bu da büyük sorunlara yol açabilir. Bu sadece kod seviyesinde düzeltilebilir.
Örnek etiket kodu
<accesscontrol>Administrators,IT:Department,Sales(ro)</accesscontrol>
v3.0'da ad alanı otomatik olarak eklendi, bu nedenle <accesscontrol>Department</accesscontrol> benim için çalıştı.

Bu örnekte, "Administrators", "IT:Department" ve "Sales" gruplarındaki tüm kullanıcılar sayfayı okuyabilir, ancak yalnızca "Yöneticiler" grubundaki (varsa) ve "IT:Department" John Doe "kullanıcıları okuyabilir.

Erişimi Kontrol Etmek için Sayfalarda Kullanım

Bu kurulum için. Belirli kullanıcı grupları için bir sayfaya erişimi kısıtlamak için, içerik sayfasının üst kısmına <accesscontrol> etiketinin içeriği olarak izin verilen kullanıcı gruplarının adlarını (virgülle ayırarak) eklemeniz yeterlidir.

Dikkat

MediaWiki sürümü:
1.21
Bu uzantı, kullanıcıların yalnızca seçili bir grup kayıtlı ve oturum açmış kullanıcı tarafından erişilebilen sayfalar oluşturmasına izin vermek için yazılmıştır; bu kullanıcılar, daha yüksek haklara sahip bir kişiyle iletişime geçmeleri gerekmeden bu sayfaya erişimi tek başına yönetebilir.

Yazar olarak asıl amacım, sayfanın bulunduğu ad alanı ne olursa olsun, herkesin yalnızca seçtikleri iş arkadaşları veya arkadaşları için herhangi bir sayfayı "kilitlemesine" izin vermekti. Böylece, telif hakkı korumasına tabi olan veya bilgili bilgi birikimi içeren şeyler, işbirliği içinde bir doğrulanmış kullanıcı grubunu paylaşabilir.

MediaWiki ≥ 2.0 sürümü için "tavsiye edilen" bir geçici çözüm, bu uzantının neden yapıldığına dair fikrimle çelişiyor. 2.6 sürümü ana hat kodu EKL'sine girdiğinden, asıl amacımın yanlış anlaşılmasına dayanan bir değişiklik, bu uzantının bakımcısı olarak devam etmek, orijinal yazar olarak benim için mümkün olmadı, çünkü hiçbiriyle kullanamaz. Başlangıçta amaçlandığı gibi bu ACL'yi kullanan vikidir.

Ancak benim koduma dayalı 2.5.1 sürümü hala her MediaWiki sürümü için kullanılabilir, çünkü Git'ten kurulum kullanıyorum ve ana hat MediaWiki'de bu kodun güncellenmesini gerektiren bir değişiklik varsa, onu uygulayacağımı garanti edebilirim.

Want (talk) 08:14, 3 April 2019 (UTC)

Sürüm 2.5.1'in kullanılması şiddetle tavsiye edilir.

< 2.3 sürümü için

  • fromTemplate() işlevinde AccessControl'ün eklenen sayfalardaki veya şablonlardaki etiketleri yoksaymasına neden olan bir sorun oluştu. Gerçekleştirme tavsiye edilir!

≥ 2.0 sürümü için

MediaWiki sürümü:
1.18 – 1.20
  Uyarı: 2.0 sürümünden itibaren, uzantı viki kullanıcı gruplarını ("sysop" dışında) kullanmaz, yalnızca kullanıcı erişim listeleri tarafından oluşturulan grupları kullanır!
  • Sayfaların yalnızca bir <accesscontrol> öğesi olabilir.
  • Kullanıcı birden çok grubun üyesiyse, onlara daha fazla erişim sağlayan grup varsayılır.
  • Bu uzantı, bir arama sonucu görüntülendiğinde çağrılan bir MediaWiki kancası kullanır. Bu, ACL'ye sahip bir sayfanın, korumalı bir sayfada bulunan metni arayan son kullanıcılar için "Erişim Engellendi" mesajını tetikleyeceği anlamına gelir. Basit bir çözüm, AccessControl gerektiren sayfaları başka bir ad alanına yerleştirmek ve ardından bu ad alanını aramayı devre dışı bırakmaktır. Bu gerçekten bir hata olmasa da istenmeyen bir davranıştır. Bir çalışmayı gösteren bir örnek için buraya tıklayın.
  Uyarı: MediaWiki >= 1.21 yeni bir çerçeve ContentHandler içerir ve uzantı sürümü 2.1 kullanılamaz. MediaWiki 1.21 ve üzeri için güncellenen AccessControl sürüm 2.2'yi kullanın.

≤ 1.3 sürümü için

MediaWiki sürümü:
1.17
  • MediaWiki'deki gruplar yerelleştirilmiş biçimde olmamalıdır! sysop, Správce vb. olamaz.
  • Bir sayfanın birden çok <accesscontrol> öğesi olabilir ve erişim herhangi bir etiketteki gruplardan kabul edilebilir.
  • Anonim kullanıcıların <accesscontrol> öğeleriyle korunan sayfalara erişimi yoktur.
  • $wgAdminCanReadAll değişkeni doğruysa, hizmetliler her zaman düzenleme erişimine sahiptir.

MediaWiki Sürüm Testi

  • 3.0.1 sürümü MediaWiki 1.34.0 sürümünde test edildi
  • 2.5.1 sürümü MediaWiki 1.33.0-alpha (5eb97ec) sürümünde test edildi
  • 2.6 sürümü MediaWiki 1.27.0-rc.0 (57f722a) sürümünde test edildi
  • 2.5 sürümü MediaWiki 1.27.0 sürümünde test edildi (Git deposundan)
  • Version 2.5 was tested on MediaWiki 1.22.9 (from git repository)
  • Version 2.3 was tested on MediaWiki 1.22.0 (from git repository)
  • Version 2.2 was tested on MediaWiki 1.22.0 (from git repository)
  • Version 2.0 was tested on MediaWiki 1.19-alpha (from svn repository)
  • Version 1.2 was tested on MediaWiki 1.15.5-1 (from Debian repository)
  • Version 1.1 was tested on MediaWiki 1.16.0(b3). Works fine, except that it needed a minor change to line 358 of AccessControl.php (remove '&' from parameter to function controlEditAccess() ). When viewing a page on a Linux server, the <accesscontrol> tags show. But on a Windows server, the tags don't show and it is fine! Still haven't figured that one out, but it is ok for my application.
  • Version 1.1 was tested on MediaWiki 1.15
  • Version 1.0 of this extension has been tested and works fine on MediaWikis > 1.12.x.
  • Version 1.1 tested on MediaWiki 1.16.1 with new patch from http://git.felk.cvut.cz/pub/git?p=accesscontrol.git;a=commitdiff;h=2f678deed0e4e4f77620e391c94559c7b50102a9

Geçmiş

Bu uzantının (1.x) ilk sürümü Grup Tabanlı Erişim Kontrolü'ne dayanıyordu, ancak orijinalde hatalar olmadan.[2]

Ayrıca bakınız

Notlar

  1. Sürüm 2.0'dan itibaren, yalnızca ana ad alanında depolanan ACL'lerle çalışır. Ayrıca, yalnızca ana ad alanında bulunan sayfaları da koruyabilir. Bu davranışı düzeltmek için $getUsersFromPages ve $getContentPage öğelerinde değişiklik yapılması gerekir. Uzantının ad alanlarıyla uyumlu yamalı sürümünü görmek için burayı tıklayın.
  2. Grup Tabanlı Erişim Kontrolü'nün aksine, daha fazla erişim listesi kullanıldığında bir <accesscontrol> etiketinin içeriğini bölmek için çift virgül kullanılmaz. Yalnızca bir virgül gereklidir. Ve element içeriğinin sonunda ",," ayırıcısını kullanmak gerekli değildir.