DRF框架之认证、授权和前后端不分离登录

一、认证

1.源码

'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication'
    ]

2.说明

BasicAuthentication:基本的用户密码认证

SessionAuthentication:session会话认证

SessionAuthentication和BasicAuthentication二者缺一不可,相辅相成,我们也可以在此基础上增加别的认证,如:token认证

在authentication.py模块中,除了上面这两种,还有其它的认证方式可供选择:

二、授权

1.源码

'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny',
    ]

2.说明

源码中只提供了AllowAny的授权,它表示不限制任何权限,一般情况下,这种授权不会满足要求,我们可以看看permissions.py模块下提供的其它授权

 AllowAny:任意权限

IsAuthenticated:允许登录后拥有权限

IsAdminUser:管理员权限

IsAuthenticatedOrReadOnly:未登录下只允许浏览

三、登录

1.创建超级管理员

命令行

python manage.py createsuperuser --username USERNAME --email EMAIL

2.添加路由

这里提供的是一种前后端不分离的登录,后面会舍弃掉

在全局下的urls.py中添加如下代码

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('rest_framework.urls'))
]

我们可以去看看rest_framework下的urls.py

配置了之后就已经提供了登录和登出的接口

3.登录

猜你喜欢

转载自www.cnblogs.com/xiaogongjin/p/13377222.html