我还有一点与有点混淆,那就是权限类别和认证类别之间的不同。Django REST在权限类别和认证类别之间的区别
这是我的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
}
在我看来,我有以下...
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
我认为将与发生上面是只有管理员用户有权访问可浏览的API,而仍然拥有有效令牌的用户可以使用g et json请求。但是,这不是唯一的情况是IsAuthenticated似乎给他们访问,但=这并仍然允许我的用户在登录时访问在线版本。
我希望我的所有用户都拥有有效令牌以获得访问权限,但只有管理员用户才有权查看会话的在线API版本,这可能吗?