django 使用者如何保持登入狀態

2021-10-01 13:37:11 字數 1605 閱讀 7018

最不可行的方法就是在每乙個需要驗證使用者的檢視函式上加裝飾器 @login_required 每個認證函式都加的話比較繁瑣。

可行的辦法是在訪問檢視函式前給他來乙個攔截 中介軟體就派上用場了。

首先你需要定義一些不需要登入驗證的頁面集合。例如:

# 無需登入介面

no_login_urls = [ '/', '/check/', '/register/', '/login/']

然後你需要 在middleware裡的authenticationmiddleware 定義檢視函式 def process_request(self, request) 請求確定檢視函式之前加入限制條件,以下為程式**實現:

return none此時就可以實現沒有登入的使用者無法訪問限制的頁面了

以下為middleware**實現過程

如何在禁用cookie的情況下保持登入狀態

保持登入狀態 其實就是服務端需要一些資料來識別發起當前請求的使用者。比如在登入的時候,後端生成乙個 session id,然後設定到 cookie,後面的所有請求瀏覽器都會帶上 cookie,然後服務端從 cookie 裡獲取 session id,再查詢到使用者資訊。所以,保持登入的關鍵不是 co...

django 使用者登入及驗證

1 登入頁面如下 2 登入乙個使用者 從檢視中登入乙個使用者,請使用login 它接受乙個httprequest物件和乙個user物件。login 使用django的會話框架來將使用者的id儲存在會話中。注意任何在匿名會話中設定的資料都會在使用者登入後的會話中都會記住。先呼叫authenticate...

Django實現使用者登入

今天的文章基於之前做的配置,實現乙個具體的功能demo 登入。在login的templates目錄下建立兩個模板,分別是login.html和home.html,當使用者未登入時,跳轉到login.html頁面,登陸成功或者登入狀態,跳轉到home.html。url的配置主要有兩個,django d...