用ldap作為django后端用戶登錄驗證的實現(xiàn)
每個公司在運維平臺化過程中,如果以開始沒有規(guī)劃,免不了全面開花,會做成好多個平臺,然后每個平臺都有自己的認證體系,等平臺多了,記錄這些賬號就變得非常煩人,如果用不同的密碼,對人的記憶力是個挑戰(zhàn),所以基于此,大部分公司會有部署Ldap系統(tǒng),來統(tǒng)一運維系統(tǒng)的賬號管理,像我們常用的jenkins也可以做對接到ldap上,這樣所有的系統(tǒng)就可以統(tǒng)一用ldap來認證,然后根據(jù)不同的人來設置不同的權限,那django怎么使用ldap來做后端驗證呢,操作接入非常簡單,整個過程可以幾乎不改我們之前的代碼任何邏輯。
我們先進行第一步,安裝依賴,ldap和django-auth-ldap,django-auth-ldap這個安裝沒有任何問題, 我們不多說了,直接pip即可,但ldap這玩意兒在Linux系統(tǒng)上安裝沒啥問題,但如果你是windows系統(tǒng),安裝準報錯,而且報的錯能讓你崩潰,你要是順著報錯的信息去搜去解決問題,會浪費大量的時間,但你又不能不安裝,不然你本地怎么調試?(mac的忽略),不能每次改完代碼提交到服務器上驗證吧?不過大家別擔心,我已把路給大家趟平了,按以下步驟去安裝就絕對沒問題,首先訪問:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap
然后根據(jù)自己的版本需求下載對應的文件,以下是我下載的:
如果你用的虛擬環(huán)境,需要進入到你虛擬環(huán)境目錄然后進行安裝,進入windows虛擬環(huán)境下,執(zhí)行: active.bat,進入虛擬環(huán)境:然后運行:
等安裝完,就能正常使用了,下面我們來編輯settings.py文件,加入內容:
首先導入需要的模塊:
import ldapfrom django_auth_ldap.config import LDAPSearch,GroupOfNamesType
指定后端驗證為ldap:
AUTHENTICATION_BACKENDS = [ ’django_auth_ldap.backend.LDAPBackend’, ’django.contrib.auth.backends.ModelBackend’,]
然后設置ldap的ip地址連接配置:
# LDAP SettingAUTH_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對應AUTH_LDAP_USER_ATTR_MAP = { 'first_name': 'uid', 'last_name': 'sn', 'email': 'mail'}
完畢運行工程,這時候登錄就是Ldap方式了,相對還是比較簡單
到此這篇關于用ldap作為django后端用戶登錄驗證的實現(xiàn)的文章就介紹到這了,更多相關django 登錄驗證內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. PHP循環(huán)與分支知識點梳理2. JSP+Servlet實現(xiàn)文件上傳到服務器功能3. 利用FastReport傳遞圖片參數(shù)在報表上展示簽名信息的實現(xiàn)方法4. JavaWeb Servlet中url-pattern的使用5. Ajax請求超時與網絡異常處理圖文詳解6. jsp實現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫的方法7. jsp EL表達式詳解8. chat.asp聊天程序的編寫方法9. JSP之表單提交get和post的區(qū)別詳解及實例10. jsp cookie+session實現(xiàn)簡易自動登錄
