Django從開始就帶有一個用戶認證系統(tǒng)。它處理用戶賬號、組、權限以及基于cookie的用戶會話。本節(jié)文檔解釋默認的實現(xiàn)如何直接使用,以及如何擴展和定制它以適合你項目的需要。
Django認證系統(tǒng)同時處理認證和授權。簡單地講,認證驗證一個用戶是它們聲稱的那個人,授權決定一個認證通過的用戶允許做什么。這里的詞語認證同時指代這兩項任務。
認證系統(tǒng)包含:
Django中的認證系統(tǒng)的目標是非常通用且不提供在web認證系統(tǒng)中某些常見的功能。某些常見問題的解決方法已經(jīng)在第三方包中實現(xiàn):
認證的支持作為Django的一個contrib模塊,打包于django.contrib.auth中。默認情況下,要求的配置已經(jīng)包含在django-admin startproject生成的settings.py中,它們的組成包括INSTALLED_APPS設置中的兩個選項:
django.contrib.auth'包含認證框架的核心和默認的模型。'django.contrib.contenttypes'是Django內(nèi)容類型系統(tǒng),它允許權限與你創(chuàng)建的模型關聯(lián)。
和MIDDLEWARE_CLASSES設置中的兩個選項:
SessionMiddleware管理請求之間的會話。AuthenticationMiddleware使用會話將用戶與請求管理起來。有了這些設置,運行manage.py migrate命令將為認證相關的模型創(chuàng)建必要的數(shù)據(jù)庫表并為你的應用中定義的任意模型創(chuàng)建權限。
譯者:Django 文檔協(xié)作翻譯小組,原文:Overview。
本文以 CC BY-NC-SA 3.0 協(xié)議發(fā)布,轉載請保留作者署名和文章出處。
Django 文檔協(xié)作翻譯小組人手緊缺,有興趣的朋友可以加入我們,完全公益性質(zhì)。交流群:467338606。