ehs*_*ird 2 django jwt reactjs
我的后端有两个 React 前端:第一个供所有用户使用,第二个是管理面板,只能由 is_staff 用户使用。
使用 simplejwt 令牌限制访问的最佳方法是什么?
我已重写 TokenObtainPairSerializer 以包含其他字段,例如“is_staff”。
所以我有两个问题:
仅仅检查前端的 is_staff 字段就足够安全了吗?在我看来这不是一个好主意。
如果我想为管理员身份验证创建第二个 API URL 条目并覆盖后端的身份验证逻辑以仅向员工用户颁发令牌。我到底应该重写什么方法/类来改变这个?这是一个好主意吗?
is_staff标志可用于前端的可视化检查,但仅限于具有此类权限的用户的视图必须在后端受到保护。
假设您正在使用 Django Rest Framework,保护视图的最佳方法是使用权限,或更准确地说,自定义权限。
from rest_framework import permissions
class IsStaffUser(permissions.BasePermission):
def has_permission(self, request, view):
return request.user and request.user.is_staff
Run Code Online (Sandbox Code Playgroud)
还有他们
from rest_framework.permissions import IsStaffUser
class StaffViewModelViewSet(viewsets.ModelViewSet):
permission_classes = (IsStaffUser,)
Run Code Online (Sandbox Code Playgroud)
有关这方面的更多内容可以在以下位置找到:
Django Rest Framework 每个视图的自定义权限
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |