2010-08-08 8 views
13

Ho un modello class Project e per ogni istanza di modello, dovrebbe esserci un "gruppo" di utenti che possono modificare quell'istanza. Credo che potrei aggiungere un'altra classe di modello chiamata ProjectEditor per aggiungere quegli editor. C'è un modo migliore per implementarlo? Che dire del controllo delle autorizzazioni? Avrei bisogno di scrivere anche il mio metodo di autorizzazione, giusto?Django: autorizzazioni basate sull'istanza di modello

Grazie Eric

risposta

3

permessi modello livello (tabella) possono essere raggiunti utilizzando l'impianto fornito da groups Django auth. I gruppi consentono di creare autorizzazioni personalizzate a livello modello. Il livello dell'istanza (riga) sarebbe più complicato. Molto probabilmente dovresti scrivere un meccanismo personalizzato per farlo.

Ecco uno Django Snippet che potrebbe darvi qualche idea.

2

C'era una release open source per le autorizzazioni a livello di riga/oggetto dal Times squadra Washington che potrebbero essere utili:

+0

La pagina di github correlata è 404. –

+2

@DanAbramov: prova http://code.osuosl.org/projects/object-permissions dove puoi trovare la versione 1.3.1 da marzo. – ars

+0

Fresco. Molte grazie. –

13

Django Guardian sembra essere la soluzione migliore oggi per il modello autorizzazioni di livello di istanza.

Problemi correlati