django-permission

Software screenshot:
django-permission
Podrobnosti Software:
Verze: 0.4.5
Datum uploadu: 14 Apr 15
Vývojka: Alisue
Licence: Volný
Popularita: 6

Rating: 2.0/5 (Total Votes: 1)

Django-povolení je aplikace Django k posílení systému, oprávnění, které podporují objekt povolení a role systém založený oprávnění.
Instalovat
Django-povolení je v PyPI_ tak ::
& Nbsp; pip nainstalovat Django-povolení
& Nbsp; & nbsp; & nbsp; nebo
& Nbsp; Pip instalovat git + git: //github.com/lambdalisue/django-permission.git#egg=django-permission
Quick tutorial
1. & nbsp; Přidejte `` 'permission'`` na `` INSTALLED_APPS`` vašeho `` settings.py`` a potvrďte' 'django.contrib.auth "a" django.contrib.contenttypes "je v` `INSTALLED_APPS``
& Nbsp; & nbsp; & nbsp; .. Poznámka ::
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Django-povolení lze použít `Django-fenicms ` _ ke zlepšení
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vizuální design change_list stránky v Django admin-li k dispozici. Přidat 'fenicms "na
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Váš `` INSTALLED_APPS`` k tomu, aby AJAX třídění, přidávání, rozšiřující funkce.
2. & nbsp; Přidejte `` 'permission.backends.PermissionBackend'`` k `` AUTHENTICATION_BACKENDS`` vašeho `` settings.py``. Pokud nemůžete stávající nastavení, potom přidejte následující kód ::
& 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; # Nepoužívejte tento backend s RoleBackend
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'permission.backends.ModelBackend',             # Použít 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; Přidejte `` permissions.py`` do adresáře, který obsahuje `` models.py``. A psát následující kódy pro spuštění ::
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; od povolení dovozu registru
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; od povolení dovozu PermissionHandler
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; z modelů import YourModel
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; třída YourModelPermissionHandler (PermissionHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Handler Povolení třída pro` `YourModel``. Podobně jako s AdminSite" ""
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def has_perm (self, user_obj, perm, obj = None):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Tomu se říká pro kontrolu povolení modelu." ""
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pokud user_obj.is_authenticated ():
                    pokud perm == "yourapp.add_yourmodel":
                        # Ověřený uživatel má přidat oprávnění tohoto modelu
                        return true
                    Elif obj a obj.author == user_obj:
                        # V opačném případě (změna / smazání) uživatel musí být autor
                        return true
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Uživatel nemá oprávnění pro `` 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; # Registraci tohoto `` YourModelPermissionHandler`` s `` YourModel``
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; registry.register (YourModel, YourModelPermissionHandler)
Role?
Django-povolení má role systém založený oprávnění. navštíví vaše Django admin stránka slouží k vytvoření / upravit role (viz následující screenshoty).
Oprávnění rolí jsou zpracovány s `` permission.backends.RoleBackend``.
.. Image :: http://s1-01.twitpicproxy.com/photos/full/528601159.png?key=943727
& Nbsp; & nbsp; & nbsp; : Align: centrum
.. Image :: http://s1-04.twitpicproxy.com/photos/full/528601385.png?key=9431458
& Nbsp; & nbsp; & nbsp; : Align: centrum
Tato role systém je ve vývoji. Tento systém nemusí fungovat správně dosud.
.. Poznámka ::
& Nbsp; & nbsp; & nbsp; Role systém povolení založený nepodporuje objekt povolení a anonymní svolení.
& Nbsp; & nbsp; & nbsp; Nicméně tyto oprávnění jsou řešeny s jednotlivými popisovač na bázi povolení backend
& Nbsp; & nbsp; & nbsp; (`` Permission.backends.PermissionBackend``)
Jak regulovat oprávnění používaných v obsluze
`` oprávnění PermissionHandler`` péče spojené s zaregistrován pouze v prodlení. Změnit
toto chování, musíte definovat `` permissions`` atribut nebo `` get_permissions`` metody, které
vrátit oprávnění řetězec (jako "auth.add_user") seznamu.
`` Get_permissions`` vrátit hodnotu `` permissions``, pokud je definován atribut. V opačném případě ji
vrátit všechna oprávnění vztahující se k modelu v prodlení použitém `` get_model_permissions`` metody.
Ukázkový kód níže ukazuje, jak zvládnout všechny oprávnění aplikace modelu v jednom
`` PermissionHandler`` ::
& Nbsp; & nbsp; & nbsp; od povolení dovozu registru
& Nbsp; & nbsp; & nbsp; od povolení dovozu PermissionHandler
& Nbsp; & nbsp; & nbsp; z modelů import YourModel
& Nbsp; & nbsp; & nbsp; z modelů dovozu HisModel
& Nbsp; & nbsp; & nbsp; z modelů dovozu HerModel
& Nbsp; & nbsp; & nbsp; třída AppPermissionHandler (PermissionHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; DEF get_permissions (sebe):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # `` Get_app_permissions () `` metoda návrat všechna oprávnění související
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # K aplikaci modelu.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vrátit self.get_app_permissions ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def has_perm (self, user_obj, perm, obj = None):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pokud perm.endswith ('_ yourmodel "):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Všechny uživatel má všechna oprávnění pro `` YourModel``
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return true
& 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; pokud user_obj.is_authenticated ():
                    # Pouze ověřený uživatel má všechna oprávnění pro `` HisModel``
                    return true
& 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; pokud user_obj.is_staff:
                    # Pouze uživatel personál má všechna povolení pro `` HerModel``
                    return true
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; # Musíte zaregistrovat popisovač s modelem
& Nbsp; & nbsp; & nbsp; # Ani AppPermissionHandler nestará o modelu
& Nbsp; & nbsp; & nbsp; registry.register (YourModel, AppPermissionHandler)
& Nbsp; & nbsp; & nbsp; # Registry.register (HisModel, AppPermissionHandler) # nebo se můžete zaregistrovat u HisModel
& Nbsp; & nbsp; & nbsp; # Registry.register (HerModel, AppPermissionHandler) # nebo se můžete zaregistrovat u HerModel

Požadavky na :

  • Python
  • Django

Ostatní software developer Alisue

Komentáře k django-permission

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!