django-permission

Logiciel capture d'écran:
django-permission
Détails logiciels:
Version: 0.4.5
Date de transfert: 14 Apr 15
Développeur: Alisue
Licence: Gratuit
Popularité: 6

Rating: 2.0/5 (Total Votes: 1)

django-autorisation est une application Django d'amélioration du système de la permission qui soutiennent le système de permission de permission et le rôle de l'objet.
Installer
django-autorisation est en PyPI_ sorte ::
& Nbsp; pip installer django-autorisation
& Nbsp; & nbsp; & nbsp; ou
& Nbsp; pip installer git + git: //github.com/lambdalisue/django-permission.git#egg=django-permission
tutoriel rapide
1. & nbsp; Ajouter `` `` permission'`` à INSTALLED_APPS`` de votre `` settings.py`` et confirmer '' django.contrib.auth »et« django.contrib.contenttypes 'est dans `` INSTALLED_APPS``
& Nbsp; & nbsp; & nbsp; .. Note ::
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; django-autorisation peut utiliser `django-fenicms ` _ pour améliorer
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; la conception visuelle de la page change_list dans django administrateur si disponible. Ajouter '' pour fenicms
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; votre `` INSTALLED_APPS`` AJAX pour permettre le tri, ajoutant: caractéristiques expansion.
2. & nbsp; Ajouter `` `` permission.backends.PermissionBackend'`` à AUTHENTICATION_BACKENDS`` de votre `` settings.py``. Si vous ne pouvez pas les paramètres existants, il suffit d'ajouter le code suivant ::
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; AUTHENTICATION_BACKENDS = (
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 'Django.contrib.auth.backends.ModelBackend', & nbsp; & nbsp; # Ne pas utiliser ce backend avec RoleBackend
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'permission.backends.ModelBackend',             # Utiliser permission.backends.ModelBackend insted
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Permission.backends.PermissionBackend',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Permission.backends.RoleBackend',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; )
3. & nbsp; Ajouter `` permissions.py`` dans le répertoire qui contient `` models.py``. Et écrire codes suivants pour démarrer ::
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; du registre d'importation d'autorisation
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; de l'autorisation d'importation PermissionHandler
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; à partir de modèles importer YourModel
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; classe YourModelPermissionHandler (PermissionHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Classe de gestionnaire d'autorisation pour` `YourModel``. Similaires avec AdminSite" ""
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def has_perm (auto, user_obj, perm, obj = None):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Ce est appelé pour vérifier l'autorisation du modèle." ""
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; si user_obj.is_authenticated ():
                    si perm == 'yourapp.add_yourmodel':
                        # Utilisateur authentifié a ajouter des autorisations de ce modèle
                        renvoyer Vrai
                    Elif obj et obj.author == user_obj:
                        # Sinon (modifier / supprimer) utilisateur doit être un auteur
                        renvoyer Vrai
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # L'utilisateur n'a pas la permission de `` perm``
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Enregistrer ce `` `` YourModelPermissionHandler`` avec YourModel``
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; registry.register (YourModel, YourModelPermissionHandler)
Rôle?
django-autorisation dispose d'un système d'autorisation basée sur les rôles. visiter votre page d'admin de Django pour créer / modifier des rôles (Voir les captures d'écran ci-dessous).
Les autorisations de rôle sont traités avec `` permission.backends.RoleBackend``.
.. Image :: http://s1-01.twitpicproxy.com/photos/full/528601159.png?key=943727
& Nbsp; & nbsp; & nbsp; : Align: center
.. Image :: http://s1-04.twitpicproxy.com/photos/full/528601385.png?key=9431458
& Nbsp; & nbsp; & nbsp; : Align: center
Ce système de rôle est en cours de développement. Ce système ne fonctionne pas encore correctement.
.. Note ::
& Nbsp; & nbsp; & nbsp; Rôle système basé sur la permission ne supporte pas la permission de l'objet et l'autorisation anonyme.
& Nbsp; & nbsp; & nbsp; Toutefois, ces autorisations sont manipulés avec individuelle gestionnaire de permission backend
& Nbsp; & nbsp; & nbsp; (`` Permission.backends.PermissionBackend``)
Comment réguler autorisations utilisées dans le gestionnaire
`` PermissionHandler`` autorisations de soins liés au modèle enregistré qu'à défaut. Changer
ce comportement, vous devez définir attribut `` `` permissions`` ou méthodes qui get_permissions``
renvoyer une chaîne d'autorisation (comme 'auth.add_user') liste.
`` Get_permissions`` retourner la valeur de `` permissions`` si l'attribut est défini. Sinon, il
retourner toutes les autorisations liées au modèle de défaut utilisé `` méthode get_model_permissions``.
L'exemple de code ci-dessous montrent comment gérer toutes les autorisations de l'application du modèle dans une
`` PermissionHandler`` ::
& Nbsp; & nbsp; & nbsp; du registre d'importation d'autorisation
& Nbsp; & nbsp; & nbsp; de l'autorisation d'importation PermissionHandler
& Nbsp; & nbsp; & nbsp; à partir de modèles importer YourModel
& Nbsp; & nbsp; & nbsp; à partir de modèles d'importation HisModel
& Nbsp; & nbsp; & nbsp; à partir de modèles d'importation HerModel
& Nbsp; & nbsp; & nbsp; classe AppPermissionHandler (PermissionHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; get_permissions def (auto):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # `` Get_app_permissions () `` retour de méthode toutes les autorisations connexes
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # À l'application du modèle.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; retourner self.get_app_permissions ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def has_perm (auto, user_obj, perm, obj = None):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; si perm.endswith ('_ yourmodel'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Tous utilisateur dispose de toutes les autorisations pour `` YourModel``
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; renvoyer Vrai
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Elif perm.endswith ('_ hismodel'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; si user_obj.is_authenticated ():
                    # Utilisateur ne authentifié a toutes les autorisations pour `` HisModel``
                    renvoyer Vrai
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Elif perm.endswith ('_ hermodel'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; si user_obj.is_staff:
                    # Seul utilisateur du personnel a toutes les autorisations pour `` HerModel``
                    renvoyer Vrai
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; # Vous devez vous enregistrer au gestionnaire avec le modèle
& Nbsp; & nbsp; & nbsp; # Même AppPermissionHandler ne se soucient pas de modèle
& Nbsp; & nbsp; & nbsp; registry.register (YourModel, AppPermissionHandler)
& Nbsp; & nbsp; & nbsp; # Registry.register (HisModel, AppPermissionHandler) # ou vous pouvez vous inscrire avec HisModel
& Nbsp; & nbsp; & nbsp; # Registry.register (HerModel, AppPermissionHandler) # ou vous pouvez vous inscrire avec HerModel

Exigences :

  • Python
  • Django

D'autres logiciels de développeur Alisue

uamd
uamd

14 Apr 15

Commentaires à django-permission

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!