welcome: please sign in

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment
Слушай, /b/, есть одна

location: КакНастраивать / ПравилаДоступа

Настройка правил доступа

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

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

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

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

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

При включении функции «antispam» вики будет периодически запрашивать страницу BadContent c BadContent и поддерживать её в актуальном состоянии. Не следует редактировать её, так как правки будут утерены при очередной синхронизации (для задания собственных чёрных списков следует использовать страницу LocalBadContent)

   1     # для включения антиспама достаточно добавить строку ниже в класс Config, соблюдая отступы:
   2     from MoinMoin.security.antispam import SecurityPolicy

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

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

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

   1     # добавьте код ниже в класс Config, соблюдая отступы:
   2     from MoinMoin.security import Permissions
   3     class SecurityPolicy(Permissions):
   4         def write(self, pagename):
   5             # привилегия на запись доступна только при использовании SSL
   6             return self.request.is_ssl
   7                    and Permissions.write(self, pagename)

Примеры

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

См. также