MrDoc/app_api/permissions_app.py

40 lines
1.1 KiB
Python
Raw Normal View History

2020-05-16 21:27:00 +08:00
# coding:utf-8
# @文件: permissions.py
# @创建者:州的先生
# #日期2020/5/11
# 博客地址zmister.com
from rest_framework.permissions import BasePermission,SAFE_METHODS
from django.utils.translation import gettext_lazy as _
2020-05-16 21:27:00 +08:00
2021-05-28 22:28:41 +08:00
# 超级管理员权限
class SuperUserPermission(BasePermission):
message = _('无权访问')
def has_permission(self, request, view):
return bool(request.user and request.user.is_superuser)
2020-05-16 21:27:00 +08:00
class AppPermission(BasePermission):
message = _('只有VIP才能访问')
2020-05-16 21:27:00 +08:00
def has_permission(self, request, view):
# vip才有访问权限
# request.user:当前经过认证的用户对象
# 如果没有认证 request.user就是匿名用户
if not request.auth:
# 认证没有通过
return False
if request.user.vip:
return True
else:
return False
def has_object_permission(self, request, view, obj):
if request.method in SAFE_METHODS:
return True
# 示例必须要有一个名为`owner`的属性
return obj.owner == request.user