Ho assegnato un'autorizzazione di un utente nella mia app Django 1.5. Quando ho elencare tutte le autorizzazioni degli utenti conDjango: user.has_perm è sempre true e l'utente non è superutente. Perché?
In [1]: user.get_all_permissions()
Out[1]: set([u'profile.change_profile'])
posso vedere un permesso (che è corretto e voluto). L'utente non è anche un superutente, non un amministratore.
In [2]: user.is_superuser
Out[2]: False
Tuttavia, se si tenta di utilizzare user.has_perm
, ho sempre arrivare True
come un ritorno per qualsiasi richiesta l'autorizzazione presentata.
In [3]: user.has_perm('random_permission')
Out[3]: True
Un comportamento che mi sarei aspettato se l'utente fosse un superutente/amministratore. Perché un non-superuser ottiene sempre True
per ogni richiesta? Ho perso qualche impostazione?
Si sta utilizzando un modello utente personalizzato o un backend di autenticazione? Forse leggi i documenti qui: https://docs.djangoproject.com/en/dev/topics/auth/customizing/#handling-authorization-in-custom-backends –