在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ django前后端完全分離如何做登錄驗證呢?

django前后端完全分離如何做登錄驗證呢?

使用django做后臺,我看django的登錄驗證都是像這樣:

from django.contrib import auth

def login_view(request):
    username = request.POST.get('username', '')
    password = request.POST.get('password', '')
    user = auth.authenticate(username=username, password=password)
    if user is not None and user.is_active:
        # Correct password, and the user is marked "active"
        auth.login(request, user)
        # Redirect to a success page.
        return HttpResponseRedirect("/account/loggedin/")
    else:
        # Show an error page
        return HttpResponseRedirect("/account/invalid/")

都使用了django的模板,但我現(xiàn)在是前后端完全分離,后臺api只提供json數(shù)據(jù),不渲染界面,不使用django的模板,這種情況下,當進入一個頁面時,如果沒有登錄,必須要讓他進入到登錄頁面登錄,該怎么做?

難道要進入每一個頁面時,調(diào)用登錄驗證接口,將是否登錄信息傳回給前端,讓前端判斷然后重定向嗎?這樣的話,是不是不太好?有沒有更好的方法?

回答
編輯回答
氕氘氚

前端直接帶上用戶名, 密碼等參數(shù)向后臺發(fā)請求, 怕密碼安全問題就上https或約定好加解密方式, 后端嚴驗證用戶名和密碼匹配后, 將用戶信息存到session里面, response帶上session_id給前端設置cookie就完了.

2018年5月25日 05:55
編輯回答
乖乖噠

如果是 Django REST Framework, 則可以試試 JWT

2018年2月22日 08:40
編輯回答
初念

樓主的意思應該是寫一個驗證登陸的方法之后,方便在每個接口里面使用對吧?試試裝飾器(裝飾器里面做用戶身份驗證,返回給前端狀態(tài)碼,前端做跳轉(zhuǎn),因為你沒有使用django的模板,貌似也只能前端做跳轉(zhuǎn)了),應該可以滿足你的需求。

2017年11月26日 23:34
編輯回答
祉小皓

簡單一點就對接口做 session 驗證,返回狀態(tài)碼表示可否訪問,前端控制跳轉(zhuǎn)。

2017年11月3日 17:52