django的用户系统

1.1什么是django自带的用户系统
Django内置了强大的用户认证系统–auth
1.2使用该系统有什么优势
快速的进行用户注册、用户登录、用户认证、修改密码等功能。
1.3如何来使用自带的用户系统,(写出重要方法或配置)
创建表时进行继承AbstractUser,然后进行添加自己还需要的字段
在setting.py进行AUTH_USER_MODEL = ‘应用名.表名’,来告知,我使用用户模块
1.4列举几个用户系统的常用方法,比如:制作密码,检查密码,登陆登陆等方法
快速的进行用户注册、用户登录、用户认证、修改密码等功能。
1.5登陆的时候如何扩充其登陆方式,(写出重要方法或配置)
写一个视图继承ModelBackend在改变authenticate的值

class LoginView1(ModelBackend):
    def authenticate(self , request , username=None , password=None , **kwargs):
        try:
            user_obj = User.objects.get(Q(username=username) | Q(phone=username) | Q(email=username))
        except User.DoesNotExist:
            pass
        else:
            if user_obj is not None and user_obj.check_password(password):
                print(user_obj)
                return user_obj

1.6使用DRF做权限校验的时候,如何扩充权限类别,(写出重要方法或配置)
在使用自带的
permission_classes = (IsAuthenticated,)
在使用自定义的
先继承BasePermission
然后就写下你要的权限

class IsOwnerOrReadOnly(permissions.BasePermission):

    def has_object_permission(self, request, view, obj):
        if request.method in permissions.SAFE_METHODS:
            return True

        return obj.user == request.user

全局权限

REST_FRAMEWORK = {
     
    'DEFAULT_AUTHENTICATION_CLASSES': (
            'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': (
        'userapp.permisson.SVIPPermission',
     ),
}  

你可能感兴趣的:(dajngo,django)