您的位置:首页 > 编程语言 > Go语言

iview-admin 2.1 + django 2.1 (一) 登录认证+修改请求头 简单例子

2018-11-14 17:47 781 查看

登录认证+修改请求头

前端

登录

config/index.js

dev: 后端地址

api/user.js

const data = {
username: userName.valueOf(),
password
}

请求头设置

libs/axios.js

interceptors (instance, url) {
// 请求拦截
instance.interceptors.request.use(config => {
// 添加全局的loading... 增加下面的
if (url !== 'login') {
instance.defaults.headers.common['Authorization'] = 'Token ' + store.state.user.token
}

后端

安装drf

pip install djangorestframework  django-cors-headers

settings.py

'rest_framework',
'rest_framework.authtoken',
'corsheaders',
'django_filters'

# REST_FRAMEWORK
# http://drf.jiuyou.info/#/drf/requests

MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
]

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',

),
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer' #注释掉 可以关闭  api web界面
),
'DEFAULT_PERMISSION_CLASSES': (
# 'rest_framework.permissions.AllowAny',
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 10,
'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)
}

CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
'*',
)

class DisableCSRFCheck(object):
def process_request(self, request):
setattr(request, '_dont_enforce_csrf_checks', True)

MIDDLEWARE_CLASSES = 'view.DisableCSRFCheck'

urls.py

from rest_framework.authtoken import views

path('api-token-auth', views.obtain_auth_token),

path('get_info',GetInfo.as_view()),

views.py

from rest_framework import permissions
from rest_framework import generics
from rest_framework.views import APIView
from rest_framework.response import Response

class GetInfo(APIView):

def get(self, request):
ad
5b4
min = {
'name': 'super_admin',
'user_id': '1',
'access': ['super_admin', 'admin'],
'token': 'super_admin',
'avator': 'https://file.iviewui.com/dist/a0e88e83800f138b94d2414621bd9704.png'
}
return Response(admin)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iview admin 2.1 django2.1