<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>КакНастраивать/ПравилаДоступа</title></articleinfo><section><title>Настройка правил доступа</title><para>Параметр <code>SecurityPolicy</code> конфигурации позволяет администраторам вики динамически определять права на различные ключевые действия на вики на базе <ulink url="http://research.math.uvt.ro/wiki/%D0%9A%D0%B0%D0%BA%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D1%82%D1%8C/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/wiki/%D0%9C%D0%BE%D0%B9%D0%BD%D0%9C%D0%BE%D0%B9%D0%BD#">МойнМойн</ulink>, в частности, редактирование и удаление содержимого. Также см. <ulink url="http://research.math.uvt.ro/wiki/%D0%9A%D0%B0%D0%BA%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D1%82%D1%8C/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D0%9F%D0%BE%D0%A1%D0%BF%D0%B8%D1%81%D0%BA%D0%B0%D0%BC%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0#">ПомощьПоСпискамДоступа</ulink> для простых случаев. </para><section><title>Механизм работы</title><para>Взаимодействие с правами доступа на вики на базе <ulink url="http://research.math.uvt.ro/wiki/%D0%9A%D0%B0%D0%BA%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D1%82%D1%8C/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/wiki/%D0%9C%D0%BE%D0%B9%D0%BD%D0%9C%D0%BE%D0%B9%D0%BD#">МойнМойн</ulink> происходит посредством интерфейса, определённого в модуле <code>MoinMoin.securty</code>. Класс <code>Permissions</code> реализует базовый интерфейс для прав доступа пользователей и системной политики безопасности. В случае необходимости определения собственной политики, необходимо унаследоваться от данного класса; это приведёт к тому, что в случае появления новых прав будут работать правила по умолчанию. </para><para>После написания класса, реализующего новую политику безопасности, необходимо присвоить его (класс, не экземпляр класса) в качестве значения параметру <code>Config.SecurityPolicy</code> в <code>wikiconfig.py</code> или определить класс как член класса <code>Config</code> в <code>wikiconfig.py</code> и назвать его <code>SecurityPolicy</code>. </para></section><section><title>Защита от спама</title><para>При включении функции «antispam» вики будет периодически запрашивать страницу <ulink url="http://research.math.uvt.ro/wiki/%D0%9A%D0%B0%D0%BA%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D1%82%D1%8C/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/wiki/BadContent#">BadContent</ulink> c MoinMaster:BadContent и поддерживать её в актуальном состоянии. Не следует редактировать её, так как правки будут утерены при очередной синхронизации (для задания собственных чёрных списков следует использовать страницу <ulink url="http://research.math.uvt.ro/wiki/%D0%9A%D0%B0%D0%BA%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D1%82%D1%8C/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/wiki/LocalBadContent#">LocalBadContent</ulink>) </para><programlisting format="linespecific" language="highlight" linenumbering="numbered" startinglinenumber="1"><![CDATA[    ]]><lineannotation><![CDATA[# для включения антиспама достаточно добавить строку ниже в класс Config, соблюдая отступы:]]></lineannotation>
<![CDATA[    ]]><token><![CDATA[from]]></token><![CDATA[ ]]><methodname><![CDATA[MoinMoin.security.antispam]]></methodname><![CDATA[ ]]><token><![CDATA[import]]></token><![CDATA[ ]]><methodname><![CDATA[SecurityPolicy]]></methodname>
</programlisting><para>Подробнее о защите от спама см. <ulink url="http://research.math.uvt.ro/wiki/%D0%9A%D0%B0%D0%BA%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D1%82%D1%8C/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/wiki/%D0%9A%D0%B0%D0%BA%D0%91%D0%BE%D1%80%D0%BE%D1%82%D1%8C%D1%81%D1%8F%D0%A1%D0%BE%D0%A1%D0%BF%D0%B0%D0%BC%D0%BE%D0%BC#">КакБоротьсяСоСпамом</ulink>. </para></section><section><title>Редактирование только по SSL</title><para>Если в целях безопасности необходимо запретить пользователям редактировать вики в случае неиспользования SSL, достаточно добавить: </para><programlisting format="linespecific" language="highlight" linenumbering="numbered" startinglinenumber="1"><![CDATA[    ]]><lineannotation><![CDATA[# добавьте код ниже в класс Config, соблюдая отступы:]]></lineannotation>
<![CDATA[    ]]><token><![CDATA[from]]></token><![CDATA[ ]]><methodname><![CDATA[MoinMoin.security]]></methodname><![CDATA[ ]]><token><![CDATA[import]]></token><![CDATA[ ]]><methodname><![CDATA[Permissions]]></methodname>
<![CDATA[    ]]><token><![CDATA[class]]></token><![CDATA[ ]]><methodname><![CDATA[SecurityPolicy]]></methodname><![CDATA[(]]><methodname><![CDATA[Permissions]]></methodname><![CDATA[):]]>
<![CDATA[        ]]><token><![CDATA[def]]></token><![CDATA[ ]]><methodname><![CDATA[write]]></methodname><![CDATA[(]]><token><![CDATA[self]]></token><![CDATA[, ]]><methodname><![CDATA[pagename]]></methodname><![CDATA[):]]>
<![CDATA[            ]]><lineannotation><![CDATA[# привилегия на запись доступна только при использовании SSL]]></lineannotation>
<![CDATA[            ]]><token><![CDATA[return]]></token><![CDATA[ ]]><token><![CDATA[self]]></token><![CDATA[.]]><methodname><![CDATA[request]]></methodname><![CDATA[.]]><methodname><![CDATA[is_ssl]]></methodname>
<![CDATA[                   ]]><token><![CDATA[and]]></token><![CDATA[ ]]><methodname><![CDATA[Permissions]]></methodname><![CDATA[.]]><methodname><![CDATA[write]]></methodname><![CDATA[(]]><token><![CDATA[self]]></token><![CDATA[, ]]><methodname><![CDATA[pagename]]></methodname><![CDATA[)]]>
</programlisting></section><section><title>Примеры</title><para>Примеры использования данного механизма доступны на MoinMoin:SecurityPolicy. </para></section><section><title>См. также</title><itemizedlist><listitem><para><ulink url="http://research.math.uvt.ro/wiki/%D0%9A%D0%B0%D0%BA%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D1%82%D1%8C/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D0%9F%D0%BEAutoAdmin#">ПомощьПоAutoAdmin</ulink> — политика безопасности AutoAdmin используется в случае необходимости автоматического предоставления привилегии на администрирование определённых страниц определённым группам и пользователям. </para></listitem></itemizedlist></section></section></article>