Permessi

L’attenzione a garantire i giusti permessi non troppo stretti e neanche troppo laschi è molto importante per il tipo di applicazioni per cui usiamo Jumbo.

Gestione permessi

Command to add new permissions

scopo

è facile aggiungere permessi ad un modello in modo che vengano creati al syncdb. Aggiungere però permessi dopo questo momento crea difficoltà in quanto non vengno più creati. Questo comando permette di creare i permessi in modo non legato al sync del db.

Examples:

dj add_permissions # aggiunge tutti i permessi mancanti in 'Permission'
dj add_permissions acomea.contact  # aggiunge i permessi mancanti solo dell'applicazione 'acomea.contact'
dj add_permissions contact # uguale al precedente
dj add_permissions contact Role # aggiunge i permessi mancanti del modello 'Role' 

Managers

In alcuni moduli dove è necessario gestire la visibilità di ogni singolo record, si è scelta la via di usare dei manager per implementare i permessi.

Questo ha reso necessario propagare l’informazione dello user (normalmente aggiunta alla request) fino all’interno del manager. Questo compito è svolto dal middleware thread_local che memorizza lo user nel thread.