C'è un'ultima cosa su cui sono un po 'confuso con e questo è il diverso tra le classi di autorizzazione e le classi di autenticazione.Differenza di Rango di Django tra le classi di autorizzazione e le classi di autenticazione
questo è il mio settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAdminUser',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'PAGINATE_BY': 10
}
e, a mio avviso ho il seguente ...
class ProfileList(generics.ListCreateAPIView):
"""
API endpoint that represents a list of users.
"""
permission_classes = (permissions.IsAdminUser,)
model = Profile
serializer_class = ProfileSerializer
def pre_save(self, obj):
obj.owner = self.request.user
Quello che ho pensato che sarebbe successo con sopra è che solo gli utenti admin hanno avuto accesso all'API navigabile mentre ancora un utente con un token valido potrebbe g e la richiesta di json. Tuttavia, questo non è il caso solo è IsAuthenticated sembra dare loro l'accesso ma = questo e consente ancora ai miei utenti di accedere alla versione online dopo il login.
Voglio tutti i miei utenti con un token valido per ottenere l'accesso, ma solo gli utenti amministratori hanno il permesso di visualizzare la versione dell'API online con le sessioni, è possibile?