Vue和Django都是非常常用的Web開發框架,其中Vue是前端框架,Django則是后端框架。在實際應用中,往往需要使用Token來進行用戶認證和權限控制。本文將介紹如何在Vue和Django中使用Token。
在Vue中,可以使用vue-resource插件來發送HTTP請求。在發送請求時,需要在請求頭中添加Token信息。以下是一個例子:
this.$http.get('/api/examples/', { headers: { 'Authorization': 'Token ' + token } }).then(response =>{ console.log(response.body); }, response =>{ console.error(response.body); });
在Django中,可以使用Django Rest Framework(DRF)來實現API。DRF提供了一個Authentication類來進行Token認證??梢栽趕ettings.py中進行配置,例如:
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', ), 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ), }
上述配置中,TokenAuthentication類會對每個請求進行Token認證,IsAuthenticated類會檢查用戶是否已通過認證。
在視圖函數中,可以使用@api_view和@permission_classes裝飾器來聲明需要認證的API,并且可以通過request.user來獲取當前已認證的用戶。以下是一個簡單的例子:
from rest_framework.decorators import api_view, permission_classes from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response @api_view(['GET']) @permission_classes((IsAuthenticated,)) def example_api(request): user = request.user return Response({'message': 'Hello, {}!'.format(user.username)})
上述代碼中,example_api函數需要通過IsAuthenticated認證,并且可以通過request.user獲取當前用戶。
通過上述方法,在Vue和Django中就可以方便地使用Token進行用戶認證和權限控制。
上一篇EJB返回值json