Extension:AccessControl/cs

Rozšíření AccessControl umožňuje omezit přístup k vybraným stránkám na základě interních skupin, nebo seznamů uživatelů vytvářených přímo uživateli. MediaWiki není navržená jako CMS (Content Management System), který by umožňoval sofistikovanější nastavení práv, proto se to musí tam, kde je požadavek na ochranu citlivých dat, např. při nasazení v korporátní sféře, nebo na školním intranetu, řešit pomocí rozšíření. AccessControl has been developed for this purpose. 

Jak toto rozšíření splňuje požadavky na zabezpečení

 * Atom/RSS feeds, diff, & revision links : Page content is protected, but when opening a page from history a piece of raw content will appear. If the  tag was placed at the beginning, a potential attacker may be able to see the names of contributing users!


 * Listings & search : Unless otherwise noted, if there is any page with protected content in search results, the user is redirected away. Since extension version 2.5, searching may be allowed too. But it should be borne in mind that the displayed search results can compromise sensitive data. Therefore, do not write in your wiki sensitive information, such as passwords, that could be obtained through a fulltext search if searching through the contents of pages protected through an access control is allowed!


 * Inclusion/transclusion, related rights, & other extensions : Pages containing the  tag, or including another page protected by the   tag, are secure. The   tag is processed in raw wikitext before HTML conversion.


 * Redirects : The problem with redirection was repaired in version 1.1


 * API & action links : For each anonymous user the action class is automatically set to, besides the view attribute for unprotected pages. Allowed actions for authorized users depend on the permissions settings of MediaWiki and the username listed in the access list pages use.


 * Edit Section & watching pages : Options are available only to registered users if they are logged in and are on the security access list.


 * Soubory a obrázky :


 * XML export ( Special:Export )
 * {{warning|1= AccessControl version < 2.0, was based on a hook unprotected from MediaWiki's side before exporting pages to raw code. Therefore, if you use AccessControl version < 2.0, you must prohibit the special page to prohibit exporting the pages from MediaWiki.


 * Author backdoor : Extension AccessControl does not have a backdoor!
 * Caching : Is recommend turning off caching. See the previous paragraphs.

Více informací o případných problémech se zabezpečením můžete najít na stránce Bezpečnostní problémy s autorizačními rozšířeními.

Funkce

 * Snadné nastavení a jednoduché použití.
 * Žádné záplaty jádra MediaWiki.
 * Neomezené skupiny.
 * Řízení přístupu ve dvou režimech:
 * Ovládání zobrazení.
 * Ovládání úprav, včetně omezení ručního přístupu k úpravám při použití action=edit v URL.
 * Skupiny uživatelů mohou používat libovolný jmenný prostor.
 * Jmenné prostory se seznamy skupin mohou být chráněny jinou příponou.
 * Skupina sysop MediaWiki může prohlížet a upravovat chráněné stránky.
 * Řízeno proměnnou rozšíření
 * Přístup může být udělen více skupinám
 * Přístup pouze pro čtení může být udělen skupinám i jednotlivým uživatelům.
 * Neoprávnění uživatelé mohou používat funkci vyhledávání, pouze pokud je to povoleno. Viz Jak toto rozšíření splňuje požadavky na zabezpečení webu.

Dokumentace
K rozšíření existuje rozsáhlý manuál v češtině zde, ve formě wiki stránky, připravené k překladu. Pokud se chcete podílet na vzniku jeho anglické verze můžete finančně přispět na profesionálního překladatele, jelikož autor není na překlad tak náročného textu jazykově vybaven. Tato stránka (zatím tedy pouze česká verze) je také součástí zdrojového kódu a můžete si ji, pokud chcete, naimportovat do své instance MediaWiki.

Instalace


Krok 1: Soubor Local Settings

 * First check that you have set these variables in the file. Pokud to tak ještě nemáte, omezte práva:


 * Add the following lines to the bottom of your :



Step 2: Přečtěte si manuál
Verze 6.0 podporuje starou syntaxi tohoto rozšíření. New syntax based od template parameters is very sofisticated. But for base use we can still used the AccessList created by old syntax, and protect pages by element accesscontrol.

Používání
Nová verze má nový systém nastavení přístupových práv, založený na parametrizaci šablon. Pokud analyzátor při zpracování šablony narazí na některý z následujících parametrů, zavolá AccessControl, aby zkontroloval, zda má uživatel přístup k obsahu.


 * isProtectedBy - seznam skupin uživatelů
 * readOnlyAllowedGroups - skupiny uživatelů s přístupem pouze pro čtení
 * editAllowedGroups - skupiny uživatelů s přístupem k úpravám
 * readOnlyAllowedUsers - seznam uživatelů, kteří mohou pouze číst obsah webu
 * editAllowedUsers - seznam uživatelů s právy na úpravy

Within a single template, all of the above parameters can be used at the same time, so the indentation indicates their hierarchical position in terms of rights. You will learn more in the description of each parameter, where examples will also be given.

editAllowedUsers
Using this parameter turns a regular template into a list of users. Each user whose name is specified in this parameter will have the right to edit the page into which the template with this parameter will be inserted. And also all pages that use it in the  parameter. If more than one user is specified, their usernames are separated by a comma.

Simple example self-protected page (i.e. ) where is in code used  :

I can be used to protection another page, if wikitext content use any template with the parameter, where is as value name the self-protected page. See example:

Může být (nemusí!) editován pomocí Page Form.

Using of the old syntax
Nejprve vytvořte skupinu uživatelů. Může to být libovolná stránka v hlavním jmenném prostoru, jedinou podmínkou je, aby obsahovala za prvním slovem dvojtečku. Seznamy uživatelů může být stránka ve jmenném prostoru s názvem "Department" (oddělení) Každé uživatelské jméno se zobrazí jako položka seznamu.


 * User names listed with  at the end can only read the protected article, not edit it. For other groups of users, you can create another member list, i.e. ,   & etc. Note that old syntax has problem with the user's name with whitespaces!


 * Example tag code

Konfigurace
Check the settings in  file. Ta lze nastavit v LocalSettings.php:


 * Depending on localization, your wiki needs pages created to which anonymous or unauthorized users will be redirected. You have to create them in advance because some of them can't access pages from another page.


 * The safety of the page is provided by the  tag. If there isn't a tag or the page is empty, it's freely accessible to logged-in users that can read and edit the page. No user, logged in or anonymous, will have read-only access.


 * Members from groups listed in the  tag can edit the page only if the group title isn't listed with   and if they don't have read only access set in the group member list.


 * By default the variable is set to true so that members of sysop can edit user group pages in any namespace.

Pozor


Pro verzi < 4.1
Pokud z nějakého důvodu nemůžete svou wiki aktualizovat na MediaWiki verze 1.39 LTS, můžete nadále používat verzi 4.1 z větve 'form-support'. Pokud máte s aktualizací problém, protože se vyskytla během aktualizace nějaká chyba, napište do diskuze. MediaWiki je velice komplexní software a někdy i malá chyba může představovat pro méně zkušeného admina velký problém.

Používá-li vaše MediaWiki rozšíření verze ≥ 2.6 vezměte na vědomí, že jde o kód, který nemá podporu správce.

Je důrazně doporučeno použít verzi 2.5.1.



Pro verzi < 2.3

 * Zde se objevil problém ve funkci fromTemplate, který způsoboval, že AccessControl neakceptoval tag z vložených stránek či šablon. Aktualizace je doporučena!



Pro verzi ≥ 2.0

 * Stránky nemohou mít více než jeden &lt;accesscontrol> prvek.
 * Pokud je uživatel členem více skupin, předpokládá se skupina, která mu poskytuje větší přístup.
 * Toto rozšíření používá háček MediaWiki, který je volán vždy, když se zobrazí výsledek vyhledávání. To znamená, že stránka, která má ACL, spustí zprávu "Access Denied" (přístup odepřen) pro koncové uživatele, kteří náhodou hledají text obsažený na chráněné stránce. Jednoduchým řešením je umístit stránky, které vyžadují AccessControl, do jiného jmenného prostoru a pak zakázat vyhledávání tohoto jmenného prostoru. I když to není ve skutečnosti chyba, je to nežádoucí chování. Klikněte sem pro příklad ukazující řešení.



Pro verzi ≤ 1.3

 * Skupiny z MediaWiki nesmí být v lokalizované podobě! Sysop nemůže být Správce atd.
 * Stránka může mít více prvků &lt;accesscontrol>, přičemž přístup je povolen ze skupin v libovolné značce.
 * Anonymní uživatelé nemají přístup ke stránkám chráněným prvky &lt;accesscontrol>.
 * Pokud je proměnná pravdivá, sysops má vždy přístup k úpravám.



Verze MediaWiki s nimiž bylo rozšíření otestováno

 * Verze 4.1 z větve  Git repozitáře (odkaz pro naklonování viz nahoře) byla testována na MediaWiki 1.35 což je starší stabilní verze MediaWiki s dlouhodobou podporou (do září 2023). Tuto verzi je doporučeno použít na  MediaWiki 1.29< 1.35

Historie
První verze tohoto rozšíření (1.x) vycházela z rozšíření, ale neměla žádnou z jeho chyb.


 * Verze 4.0 je zastaralá (T281848). Je doporučena aktualizace.
 * Verze 3.0.1 byla testována na MediaWiki 1.34.0, ale je už zastaralá. Aktualizace je doporučena.
 * Verze 2.5.1 byla testována na MediaWiki 1.33.0-alpha (5eb97ec)
 * Verze 2.6 byla testována na MediaWiki 1.27.0-rc.0 (57f722a)
 * Verze 2.5 byla testována na MediaWiki 1.27.0 (z Git repozitáře)
 * 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  ). When viewing a page on a Linux server, the  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



Související odkazy

 * Extension:Semantic ACL
 * Extension:Semantic ACL