用ldap作為django后端用戶登錄驗(yàn)證的實(shí)現(xiàn)
每個公司在運(yùn)維平臺化過程中,如果以開始沒有規(guī)劃,免不了全面開花,會做成好多個平臺,然后每個平臺都有自己的認(rèn)證體系,等平臺多了,記錄這些賬號就變得非常煩人,如果用不同的密碼,對人的記憶力是個挑戰(zhàn),所以基于此,大部分公司會有部署Ldap系統(tǒng),來統(tǒng)一運(yùn)維系統(tǒng)的賬號管理,像我們常用的jenkins也可以做對接到ldap上,這樣所有的系統(tǒng)就可以統(tǒng)一用ldap來認(rèn)證,然后根據(jù)不同的人來設(shè)置不同的權(quán)限,那django怎么使用ldap來做后端驗(yàn)證呢,操作接入非常簡單,整個過程可以幾乎不改我們之前的代碼任何邏輯。
我們先進(jìn)行第一步,安裝依賴,ldap和django-auth-ldap,django-auth-ldap這個安裝沒有任何問題, 我們不多說了,直接pip即可,但ldap這玩意兒在Linux系統(tǒng)上安裝沒啥問題,但如果你是windows系統(tǒng),安裝準(zhǔn)報錯,而且報的錯能讓你崩潰,你要是順著報錯的信息去搜去解決問題,會浪費(fèi)大量的時間,但你又不能不安裝,不然你本地怎么調(diào)試?(mac的忽略),不能每次改完代碼提交到服務(wù)器上驗(yàn)證吧?不過大家別擔(dān)心,我已把路給大家趟平了,按以下步驟去安裝就絕對沒問題,首先訪問:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap
然后根據(jù)自己的版本需求下載對應(yīng)的文件,以下是我下載的:

如果你用的虛擬環(huán)境,需要進(jìn)入到你虛擬環(huán)境目錄然后進(jìn)行安裝,進(jìn)入windows虛擬環(huán)境下,執(zhí)行: active.bat,進(jìn)入虛擬環(huán)境:然后運(yùn)行:

等安裝完,就能正常使用了,下面我們來編輯settings.py文件,加入內(nèi)容:
首先導(dǎo)入需要的模塊:
import ldap from django_auth_ldap.config import LDAPSearch,GroupOfNamesType
指定后端驗(yàn)證為ldap:
AUTHENTICATION_BACKENDS = [ 'django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend', ]
然后設(shè)置ldap的ip地址連接配置:
# LDAP Setting
AUTH_LDAP_SERVER_URI = "ldap://10.1.1.1:389"
AUTH_LDAP_BIND_DN = "cn=admin,dc=xxx,dc=xxx,dc=xx"
AUTH_LDAP_BIND_PASSWORD = "mypassword"
AUTH_LDAP_USER_SEARCH = LDAPSearch(
'ou=users,dc=xxx,dc=xxx,dc=xx',
ldap.SCOPE_SUBTREE,
'(uid=%(user)s)',
)
# 跟django中的auth_user對應(yīng)
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "uid",
"last_name": "sn",
"email": "mail"
}
完畢運(yùn)行工程,這時候登錄就是Ldap方式了,相對還是比較簡單
到此這篇關(guān)于用ldap作為django后端用戶登錄驗(yàn)證的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)django 登錄驗(yàn)證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Django中使用pillow實(shí)現(xiàn)登錄驗(yàn)證碼功能(帶刷新驗(yàn)證碼功能)
- 給Django Admin添加驗(yàn)證碼和多次登錄嘗試限制的實(shí)現(xiàn)
- Django --Xadmin 判斷登錄者身份實(shí)例
- Django Session和Cookie分別實(shí)現(xiàn)記住用戶登錄狀態(tài)操作
- django 裝飾器 檢測登錄狀態(tài)操作
- Django用戶登錄與注冊系統(tǒng)的實(shí)現(xiàn)示例
- Django調(diào)用百度AI接口實(shí)現(xiàn)人臉注冊登錄代碼實(shí)例
- django使用JWT保存用戶登錄信息
- django-利用session機(jī)制實(shí)現(xiàn)唯一登錄的例子
- django 框架實(shí)現(xiàn)的用戶注冊、登錄、退出功能示例
- Django實(shí)現(xiàn)前后端登錄
相關(guān)文章
Python的網(wǎng)絡(luò)編程庫Gevent的安裝及使用技巧
Gevent庫的奧義在于并發(fā)式的高性能網(wǎng)絡(luò)程序設(shè)計(jì)支持,這里我們將來講解Python的網(wǎng)絡(luò)編程庫Gevent的安裝及使用技巧,來看一下Gevent支持的多進(jìn)程程序編寫:2016-06-06
這篇文章主要介紹了在 Python 中借助日志記錄庫使用 Log4j,本文解釋了什么是 log4j,它是如何工作的,以及我們?yōu)槭裁匆褂盟?,需要的朋友可以參考?/div> 2023-07-07
Python執(zhí)行系統(tǒng)命令的五種方式小結(jié)
在日常開發(fā)中,有時需要在Python腳本中執(zhí)行系統(tǒng)命令,Python有五種方式來執(zhí)行系統(tǒng)命令(推薦使用第五種),本文為大家整理了這五種方法的具體使用,希望對大家有所幫助2024-01-01
Python設(shè)計(jì)模式之裝飾模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之裝飾模式,結(jié)合實(shí)例形式詳細(xì)分析了裝飾模式的概念、原理并結(jié)合Python實(shí)例形式分析了裝飾模式的相關(guān)使用技巧,需要的朋友可以參考下2019-01-01最新評論

