常見的方法有:
create_user:建立普通使用者,會對密碼進行加密
create_superuser:建立超級使用者,會對密碼進行加密
set_password:對密碼進行加密
username
password
is_superuser
is_staff
is_active
如果user模型中的字段不夠,可以通過關聯關係的方式進行擴增
自定義模型,通過onetoonefield
extra_fields:代表傳user模型中的其他屬性
django.contrib.auth.hasher.make_password
:對密碼進行加密
django.coontrib.auth.hasher.check_password
:檢查密碼是否一致
django.contrib.auth.authenticate(request, username, password)
:認證
認證成功會返回user物件
認證過程中做了三件事:1.根據使用者名稱查到使用者資訊 2.比較密碼 3.判斷是否啟用
django.contrib.auth.login(request, user)
:
向session中儲存了三個值
sessin_key:登入的使用者id
backend_session_key:存的是乙個類對應的字串
hash_session_key:認證的hash字串
將認證成功的user物件,賦值給了request.user
django.contrib.auth.logout(request)
:使用者的登出功能
request.session
: 是用來獲取session
當使用者使用 session (request.session)的時候,伺服器會獲取瀏覽器對應的cookie (request.cookies)
並找到 cookie name = sessionid 的 cookie
如果 找不到 (第一次使用session), 伺服器會建立乙個 session物件 ,並將 session的 id 寫入到
瀏覽器的 cookie 中 (response.addcookie) , name=sessionid , value = session的id
如果 找到了 sessionid 對應的 cookie , 通過 cookie 對應 value值 ,去伺服器中獲取 session 物件
session 的預設存活時間是 : 2周
session_cookie_age : 設定session的預設存活時間
session_expire_at_browser_close : 設定 session存活時間是否隨瀏覽器的關閉而消亡
session_serializer : 設定 session的序列化方式
request.session[key] = value
request.session.clear_expired() : 清除過期的session
request.session.flush() : 銷毀當前session 物件
Django擴充套件內建User類
內建user類 使用內建user可以方便實現登入驗證,利用admin管理介面還可以方便新增 刪除 修改使用者。乙個內建的user類定義了以下字段 username 使用者名稱 password 密碼 first name 姓名first last name 姓名last email 郵箱 group...
Django 使用者認證系統 拓展 User 模型
本教程為系列教程,為方便閱讀,每篇教程開頭列出全部教程的目錄索引 django 使用者認證系統提供了乙個內建的 user 物件,用於記錄使用者的使用者名稱,密碼等個人資訊。對於 django 內建的user模型,僅包含以下一些主要的屬性 對於一些 來說,使用者可能還包含有暱稱 頭像 個性簽名等等其它...
django使用者認證系統 拓展 User 模型
django 使用者認證系統提供了乙個內建的 user 物件,用於記錄使用者的使用者名稱,密碼等個人資訊。對於 django 內建的user模型,僅包含以下一些主要的屬性 對於一些 來說,使用者可能還包含有暱稱 頭像 個性簽名等等其它屬性,因此僅僅使用 django 內建的 user 模型是不夠。好...