## Please edit system and help pages ONLY in the master wiki!
## For more information, please see MoinMoin:MoinDev/Translation.
##master-page:HelpOnConfiguration/SecurityPolicy
##master-date:2009-11-20T14:10:26Z
#acl -All:write Default
#format wiki
#language ru

Параметр `SecurityPolicy` конфигурации позволяет администраторам вики динамически определять права на различные ключевые действия на вики на базе МойнМойн, в частности, редактирование и удаление содержимого. Также см. ПомощьПоСпискамДоступа для простых случаев.

== Механизм работы ==

Взаимодействие с правами доступа на вики на базе МойнМойн происходит посредством интерфейса, определённого в модуле `MoinMoin.securty`. Класс `Permissions` реализует базовый интерфейс для прав доступа пользователей и системной политики безопасности. В случае необходимости определения собственной политики, необходимо унаследоваться от данного класса; это приведёт к тому, что в случае появления новых прав будут работать правила по умолчанию.

После написания класса, реализующего новую политику безопасности, необходимо присвоить его (класс, не экземпляр класса) в качестве значения параметру `Config.SecurityPolicy` в `wikiconfig.py` или определить класс как член класса `Config` в `wikiconfig.py` и назвать его `SecurityPolicy`.

== Защита от спама ==

При включении функции «antispam» вики будет периодически запрашивать страницу BadContent c MoinMaster:BadContent и поддерживать её в актуальном состоянии. Не следует редактировать её, так как правки будут утерены при очередной синхронизации (для задания собственных чёрных списков следует использовать страницу LocalBadContent)
{{{#!highlight python
    # для включения антиспама достаточно добавить строку ниже в класс Config, соблюдая отступы:
    from MoinMoin.security.antispam import SecurityPolicy
}}}

Подробнее о защите от спама см. КакБоротьсяСоСпамом.

== Редактирование только по SSL ==

Если в целях безопасности необходимо запретить пользователям редактировать вики в случае неиспользования SSL, достаточно добавить:

{{{#!highlight python
    # добавьте код ниже в класс Config, соблюдая отступы:
    from MoinMoin.security import Permissions
    class SecurityPolicy(Permissions):
        def write(self, pagename):
            # привилегия на запись доступна только при использовании SSL
            return self.request.is_ssl
                   and Permissions.write(self, pagename)
}}}

== Примеры ==

Примеры использования данного механизма доступны на MoinMoin:SecurityPolicy.


== См. также ==

 * ПомощьПоAutoAdmin — политика безопасности !AutoAdmin используется в случае необходимости автоматического предоставления привилегии на администрирование определённых страниц определённым группам и пользователям.
