django-permission

Software kuvakaappaus:
django-permission
Ohjelmiston tiedot:
Versio: 0.4.5
Lähetyksen päivämäärä: 14 Apr 15
Kehittäjä: Alisue
Lupa: Vapaa
Suosio: 6

Rating: 2.0/5 (Total Votes: 1)

Django-lupa on Django app tehostetun lupaa järjestelmä, joka tukee esine lupaa ja rooli perustuu lupaa järjestelmään.
Asenna
Django-lupa on PyPI_ niin ::
& Nbsp; pip asentaa Django-lupaa
& Nbsp; & nbsp; & nbsp; tai
& Nbsp; Pip asentaa git + Git: //github.com/lambdalisue/django-permission.git#egg=django-permission
Nopea opetusohjelma
1. & nbsp; Lisää `` 'permission'`` on `` INSTALLED_APPS`` teidän `` settings.py`` ja vahvista' 'django.contrib.auth "ja" django.contrib.contenttypes "on` `INSTALLED_APPS``
& Nbsp; & nbsp; & nbsp; .. Huom ::
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Django-lupa voi käyttää `Django-fenicms ` _ parantaa
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; visuaalinen suunnittelu change_list sivun Django admin jos käytettävissä. Lisää "fenicms 'to
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; sinun `` INSTALLED_APPS`` jotta AJAX lajittelu, lisäämällä, laajentamalla ominaisuuksia.
2. & nbsp; Lisää `` 'permission.backends.PermissionBackend'`` on `` AUTHENTICATION_BACKENDS`` teidän `` settings.py``. Jos et pysty nykyisiä asetuksia, lisää seuraava koodi ::
& 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; # Älä käytä tätä backend kanssa RoleBackend
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'permission.backends.ModelBackend',             # Käyttää 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; Lisää `` permissions.py`` hakemistoon, joka sisältää `` models.py``. Ja kirjoittaa seuraavat koodit alkavat ::
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; alkaen lupa tuonti rekisteristä
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; alkaen lupa tuonti PermissionHandler
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; malleista tuoda YourModel
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; luokan YourModelPermissionHandler (PermissionHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Lupaa käsittelijä luokan` `YourModel``. Samanlaisia ​​kanssa AdminSite" ""
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def has_perm (itse, user_obj, permanentti, obj = Ei mitään):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Tämä on nimeltään tarkastamiseksi lupaa mallin." ""
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jos user_obj.is_authenticated ():
                    jos permanentti == 'yourapp.add_yourmodel':
                        # Tunnistettu käyttäjä on lisätä käyttöoikeudet tämän mallin
                        palata True
                    Elif obj ja obj.author == user_obj:
                        # Muuten (Muuta / poista) käyttäjän on oltava kirjoittajan
                        palata True
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Käyttäjä ei ole lupaa `` 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; # Rekisteröi tämän `` YourModelPermissionHandler`` kanssa `` YourModel``
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; registry.register (YourModel, YourModelPermissionHandler)
Rooli?
Django-lupa on tehtävään perustuva lupa järjestelmään. käydä Django admin sivulla voit luoda / muokata roolit (Katso kuvakaappauksia alla).
Rooli luvat käsitellään `` permission.backends.RoleBackend``.
.. Kuva :: http://s1-01.twitpicproxy.com/photos/full/528601159.png?key=943727
& Nbsp; & nbsp; & nbsp; : Align: center
.. Kuva :: http://s1-04.twitpicproxy.com/photos/full/528601385.png?key=9431458
& Nbsp; & nbsp; & nbsp; : Align: center
Tämä rooli järjestelmä on kehitteillä. Tämä järjestelmä ei ehkä toimi oikein vielä.
.. Huom ::
& Nbsp; & nbsp; & nbsp; Rooli perustuu lupaa järjestelmä ei tue kohteen lupaa ja nimetön lupaa.
& Nbsp; & nbsp; & nbsp; Kuitenkin nämä luvat käsitellään Yksittäiset handler perustuu lupaa backend
& Nbsp; & nbsp; & nbsp; (`` Permission.backends.PermissionBackend``)
Miten säännellä luvat käytetään ohjaajan
`` PermissionHandler`` hoito käyttöoikeudet liittyvät rekisteröidyn mallin vain oletus. Muuttua
tätä käyttäytymistä, sinun täytyy määrittää `` permissions`` ominaisuuden tai `` get_permissions`` menetelmiä, jotka
palata lupaa merkkijono (kuten "auth.add_user") luettelo.
`` Get_permissions`` palauttaa arvo `` permissions`` jos määrite on määritelty. Muuten se
palauttaa kaikki käyttöoikeudet liittyvät mallin oletuksena käyttää `` get_model_permissions`` menetelmällä.
Näyte alla oleva koodi näyttää, miten käsitellä kaikki luvat sovelluksen mallin yhdessä
`` PermissionHandler`` ::
& Nbsp; & nbsp; & nbsp; alkaen lupa tuonti rekisteristä
& Nbsp; & nbsp; & nbsp; alkaen lupa tuonti PermissionHandler
& Nbsp; & nbsp; & nbsp; malleista tuoda YourModel
& Nbsp; & nbsp; & nbsp; malleista tuonti HisModel
& Nbsp; & nbsp; & nbsp; malleista tuonti HerModel
& Nbsp; & nbsp; & nbsp; luokan AppPermissionHandler (PermissionHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def get_permissions (itse):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # `` Get_app_permissions () `` menetelmä paluu kaikki käyttöoikeudet liittyvä
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # App mallin.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; palata self.get_app_permissions ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def has_perm (itse, user_obj, permanentti, obj = Ei mitään):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jos perm.endswith ("_ yourmodel '):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Kaikki käyttäjällä on kaikki oikeudet `` YourModel``
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; palata 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; jos user_obj.is_authenticated ():
                    # Vain todennettu käyttäjä on kaikki luvat `` HisModel``
                    palata 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; jos user_obj.is_staff:
                    # Ainoastaan ​​henkilöstön käyttäjällä on kaikki oikeudet `` HerModel``
                    palata True
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; # Sinun täytyy rekisteröityä ohjaajan kanssa malli
& Nbsp; & nbsp; & nbsp; # Vaikka AppPermissionHandler ei välitä mallista
& Nbsp; & nbsp; & nbsp; registry.register (YourModel, AppPermissionHandler)
& Nbsp; & nbsp; & nbsp; # Registry.register (HisModel, AppPermissionHandler) # tai voit rekisteröityä HisModel
& Nbsp; & nbsp; & nbsp; # Registry.register (HerModel, AppPermissionHandler) # tai voit rekisteröityä HerModel

Vaatimukset :

  • Python
  • Django

Muu ohjelmistojen kehittäjä Alisue

Kommentit django-permission

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!