码迷,mamicode.com
首页 > 其他好文 > 详细

认证,权限

时间:2018-11-16 00:24:54      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:用户角色   else   als   role   turn   style   角色   lse   obj   

model表:
from django.db import models
# Create your models here.
class UserInfo(models.Model):
useranme=models.CharField(max_length=32)
password=models.CharField(max_length=32)
user_role_type_choice=((1,‘普通用户‘),(2,‘vip用户‘),(3,‘svip用户‘))
user_role=models.IntegerField(choices=user_role_type_choice,verbose_name=‘用户角色‘)


url路由映射:
url(r‘^PermissionView/$‘, views.PermissionView.as_view())



views部分:
from rest_framework.authentication import BaseAuthentication
class Authentition_Control(BaseAuthentication):
def authenticate(self, request):
print(request.GET)
username=request.GET.get(‘username‘)
password=request.GET.get(‘password‘)
print(‘username‘,username)
print(‘password‘,password)
exist=UserInfo.objects.filter(useranme=username,password=password).first()##后面如果不加first的话,默认是.all(),集合的形式
if exist:
print(‘验证通过‘)
return username,password
else:
return False,False
class Permission_control():
message=‘只有vip和svip才可以访问‘
def has_permission(self,request,view):
# recv_username=request.user##注明一下,这个是已经在进行校验登录之后才有的权限
password=request.auth##这个是用户密码,可以是加密的用户密码
user=request.user
print(‘进行权限认证的用户是‘,user)
username_role=UserInfo.objects.get(useranme=user).get_user_role_display()
print(username_role)
if username_role==‘svip用户‘:
print(‘成功‘)
return True
else:
return False
class PermissionView(APIView):
authentication_classes = [Authentition_Control]
permission_classes = [Permission_control]
def get(self,request):
print(‘访问成功‘)
return Response(‘ok‘)

认证,权限

标签:用户角色   else   als   role   turn   style   角色   lse   obj   

原文地址:https://www.cnblogs.com/yunxintryyoubest/p/9966835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!