Lesz Django egy jó választás a jogosultságokat alapú web-alkalmazást?

szavazat
12

Már vizsgálja a részleteket Django körülbelül egy hete, és tetszik, amit látok. Azonban jöttem fel néhány .. negativitás kapcsolatban finomszemcsés ellenőrzése engedélyeket a szifilisz felületen.

Mit írok egy Intranet ügyfélkezelés web-app. A szervezet mintegy 6 szintek, és azt kell hogy korlátozza a hozzáférést az ügyfél csoportok alapján szintek. Folyamatosan bővül. Van egy elég jó ötlet, hogy hogyan fogom ezt tenni, de nem vagyok biztos abban, hogy képes lesz integrálni azt is az előre beépített admin felületen.

Tettem abszolút nulla Django fejlesztés egyébként én valószínűleg van egy jobb ötletem, hogy ez működni fog-e vagy sem. Én valószínűleg nem fogja használni Django, ha a generált admin felület lesz haszontalan ez a projekt - de mint mondtam, van egy hagyatkozni a finomszemcsés egyéni engedélyekkel.

Will Django hadd építeni egyéni engedélyekkel / szabályok és integrálja illeszkedik a admin szifilisz felület?

Frissítse One: szeretném használni az admin app, hogy minimalizálja a repitition generálásának szifilisz interfészeket, hogy igen, én úgy, hogy egy kell.

Frissítse Two:

Szeretném leírni a szükséges engedélyek ehhez a projekthez.

A kliens is tartozhat egy vagy több „üzletből”. Teljes munkaidőben foglalkoztatottak csak tudja módosítani ügyfelek saját tároló (akkor is, ha azok tartoznak egy másik bolt). Ezek azonban nem lehet látni / szerkesztés ügyfelek másik boltban. Casuals csak tudja megtekinteni az ügyfelek alapján, amit boltban vannak munkabeosztásba is (vagy ha az alkalmi van jelentkezve a boltban felhasználó - nagyobb valószínűséggel).

Management fölöttük képesnek kell lenniük az összes alkalmazottak üzletekhez sikerül, semmi több.

A felső vezetésnek kell tudni szerkeszteni MINDEN alkalmazott és támogatási jogosultságokat az alábbi magukat.

Miután elolvasta a Django dokumentáció azt írja, hogy nem tud (autmoatically) Engedélyek beállítása részhalmaza egy csoportot. Csak az egész csoportot. Ez elég könnyű, hogy kigúnyolják fel a saját jogosítványait erre a célra?

A kérdést 24/10/2008 00:50
a forrás felhasználó
Más nyelveken...                            


6 válasz

szavazat
7

Ha olvastam a frissített követelmények rendesen, nem hiszem, Django meglévő auth rendszer lesz elegendő. Úgy hangzik, mint amire szükség van egy teljes ACL rendszer.

Ez a téma jött fel több alkalommal. Próbálja googling a Django + acl.

Véletlenszerű mintavételek ...

Volt egy Summer of Code projekt egy pár évvel ezelőtt, de nem vagyok benne biztos, ha eljutottak. Lásd http://code.djangoproject.com/wiki/GenericAuthorization

Van egy friss jegyet djngoproject.org hogy érdekes lehet:

Van néhány érdekes kódot fémvágó on dumpz.org:

... de vannak nulla docs.

Sok szerencsét!

Válaszolt 26/10/2008 00:49
a forrás felhasználó

szavazat
5

A Django jogosultsági rendszere teljesen szabályokat. Minden modell rendelkezik egy alapértelmezett engedélyeket. Felvehet új engedélyeket a modellek is.

Minden felhasználónak van egy jogosultsághalmazt, valamint a csoportos tagság. Az egyes felhasználók egyéni engedélyeket. És engedélyeket öröklik a csoporthoz való tartozás.

Ön szerint funkciók (sablonok) könnyedén ellenőrizheti jelenléte vagy hiánya ezeket a jogosultságokat bármilyen szintű részletességgel kell használni.

És ha ez nem lenne elég, a Profile add-on ad még több lehetőséget meghatározó „User” és azok képességeit, engedélyek, szerepek, felelősségi, stb

És ha ez nem lenne elég, akkor meg a saját hitelesítési rendszereket.


Ami fontos, hogy ne próbálja meg, és meghatározzák csoportok, amelyek tényleges részhalmaza a felhasználók, nem véletlenül meghatározott címeket vagy szerepeket. Soha nem kell, hogy „set engedélyeket alcsoportja a csoport”. Be kell, hogy kisebb csoportokban. Meghatározott csoportok körül részhalmaza az emberek.

Django alapértelmezett engedélyek körüli modell hozzáférés, nem sorban hozzáférés belül egy modell. Másrészt, a probléma mintegy részhalmaza a sorok több modell: Kliens, Store, Munkavállaló, vezető.

Szükséged lesz egy alap készlet FK féle között ezeket az elemeket, és néhány szűrőket részhalmaza a sorok. Lehet, hogy baj ezt az alapértelmezett admin oldalakon. Szükség lehet a saját verzióját admin igénybe speciális szűrővel.


Ha nem megy a Django jogosultsági rendszer, akkor újragondolni a használati esetek. Komolyan.

[A Django-REST felület, azonban egy másik állat teljesen, és igényel ellátást és takarmányozási.]

Válaszolt 24/10/2008 02:58
a forrás felhasználó

szavazat
3

ModelAdmin tárgyak has_add_permission, has_change_permission, has_delete_permissionés querysetmódszereket, amelyek lehet, hogy érvényesíteni engedélyeket illetően, amit a bejelentkezett felhasználó láthatja és módosíthatja - hozz létre egy alosztálya, ahol ezeket érvényesíteni bármilyen kívánt jogosultságokat végrehajtani, és regisztrálja az összes modell a adminkérelem segítségével alosztálya.

Azonban minden attól függ, hogy pontosan a jogosultságokat a rendszer működni fog - mik a pontos követelmények, amelyek kiesnek a finomszemcsés engedélyeket? Minél többet elmozdulni, amit a adminkérelem célja az volt, hogy nem, a több munka is viszem, de van egy csomó horgok vannak, amelyek segítségével végre az egyéni követelményeknek. Itt egy blogbejegyzést Luke Plant amely példákat ad néhány finomhangolás megteheti anélkül, hogy ásni túl mély.

Nincs feltétlenül kell köré adminalkalmazást? Általános nézetek és ModelForms tud vigyázni a sok unalmas bitek végrehajtásában részt vevő szifilisz, ezért legyen óvatos a szerzés is letette szabásával admin- ez szinte egy Django hagyomány kezdeni egyre letette a adminapp, és mit tehet és „t csinálni, először arra gondoltam, hogy soha nem kell írni a kódot újra)

Válaszolt 24/10/2008 01:06
a forrás felhasználó

szavazat
2

Tól Django 1.2 támogatás van sor-szintű jogosultságokat, amelyek a Django-őre teszi nagyon könnyen kezelhető.

Válaszolt 10/08/2011 09:44
a forrás felhasználó

szavazat
0

Most találtam http://bitbucket.org/jezdez/django-authority/ , úgy néz ki, ígéretes.

Válaszolt 27/08/2009 02:08
a forrás felhasználó

szavazat
0

Ön is szeretné, hogy vessen egy pillantást a szemcsés-engedélyeket monkeypatch: http://code.google.com/p/django-granular-permissions/

Hozzáteszi sor szintű engedélyekkel Django jogosultsági rendszer.

Válaszolt 27/11/2008 11:40
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more