Please note:The SCons wiki is now restored from the attack in March 2013. All old passwords have been invalidated. Please reset your password if you have an account. If you note missing pages, please report them to webmaster@scons.org. Also, new account creation is currently disabled due to an ongoing spam flood (2013/08/27).

SecurityPolicy est une option de configuration qui permet aux administrateurs d'activer ou de désactiver dynamiquement certaines actions clé d'un wiki MoinMoin, en particulier l'édition du contenu et l'effacement des pages. Voir aussi l'AideDesListesDeContrôleD'Accès pour des fonctionnalités similaires.

Fonctionnement

Les restrictions de sécurité dans un wiki MoinMoin sont appliquées à l'aide de l'interface définie dans le module MoinMoin.security. La classe Permissions implémente une interface de base pour les permissions des utilisateurs et la politique de sécurité du système. Si vous désirez définir votre propre politique, vous pouvez étendre cette classe de base à l'aide de l'héritage, de façon à ce que lorsque de nouvelles permissions soient définies elles héritent des paramètres par défaut.

Il vous suffira alors soit d'attribuer votre nouvelle classe à Config.SecurityPolicy dans wikiconfig.py (on parle bien de classe et pas d'une instance de celle-ci), soit de définir votre classe en tant que membre de class Config dans wikiconfig.py et de la nommer SecurityPolicy.

Protection Anti-Spam

Si vous activez l'option "antispam", votre wiki ira chercher la page BadContent et se synchronisera automatiquement avec elle. Ne l'éditez pas, car vos modifications seront écrasées.

Ajoutez ceci au début de votre fichier wikiconfig :

from MoinMoin.util.antispam import SecurityPolicy

Ecriture uniquement via SSL

Si pour des raisons de sécurité vous souhaitez permettre à vos utilisateurs d'éditer le contenu qu'à condition d'utiliser SSL, vous devriez ajouter :

# Ajoutez ceci à vos paramètres de configuration :
from MoinMoin.security import Permissions

   # plus loin en prenant garde à l'indentation
   # rendre le wiki éditable uniquement via SSL
    class SecurityPolicy(Permissions):
        def write(self, pagename):
                return (self.request.is_ssl
                        and Permissions.write(self, pagename)

Exemples

Voir SecurityPolicy pour avoir des exemples de fonctionnement.

Références