<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Natural

     

    Django 使用LDAP驗證登錄

        學習Django做了個小網站,但是如果只用在公司內部的話,特此又要員工注冊網站帳號,這個是個槽糕的問題。

        最好的方式就是直接使用員工的計算機帳號來登錄,那樣就不用為又要為記住個新帳號名密碼而苦惱了。

        恰好公司有LDAP服務器,并且存有員工賬號信息。這樣就可以通過Django的LDAP插件,來完成員工帳號的登錄驗證功能。

        首先需要安裝以下模塊:
        python-ldap 2.4.12    https://pypi.python.org/pypi/python-ldap/2.4.12

        安裝完成后,django項目中settings.py的ldap配置如下:
     1 #LDAP configuration
     2 import ldap
     3 from django_auth_ldap.config import LDAPSearch
     4 AUTHENTICATION_BACKENDS = (
     5     'django_auth_ldap.backend.LDAPBackend',
     6     'django.contrib.auth.backends.ModelBackend',  
     7 )
     8 
     9 AUTH_LDAP_SERVER_URI = 'ldap://SERVER_IP'
    10 AUTH_LDAP_BIND_DN = 'CN=ACCOUNT_NAME,OU=Accounts,DC=ldap,DC=example,DC=com'
    11 AUTH_LDAP_BIND_PASSWORD = "PASSWORD"
    12 AUTH_LDAP_USER_SEARCH = LDAPSearch("OU=Accounts,DC=ldap,DC=example,DC=com", ldap.SCOPE_SUBTREE, "(&(objectClass=person)(sAMAccountName=%(user)s))")
    13 
    14 AUTH_LDAP_USER_ATTR_MAP = {
    15      "first_name""givenName",
    16      "last_name""sn",
    17      "email""mail"
    18 }

        工作流程:
        登錄時,在默認的django數據庫帳號驗證之前,會先到LDAP服務器上去驗證。
        輸入的登錄帳號到LDAP服務器驗證之前,會先用配置文件中的綁定DN、密碼去驗證,驗證通過才能繼續用輸入的帳號密碼去LDAP服務器驗證。
        若LDAP驗證通過,會檢查django數據庫中是否已存在該帳號,若不存在,則會根據LDAP驗證通過后獲取的用戶信息,來創建django數據庫的用戶賬號。帳號名和輸入的一樣,密碼則會設為一個無效的密碼(看了下源碼是"!",無法合法哈希編碼),因為該帳號密碼驗證是從LDAP上進行,所以django中的密碼不會被使用到。除了默認的用戶姓名、郵件等信息,若要把Group信息也同步過來的話需要進行相應的配置。
        若LDAP驗證失敗,則會使用Django數據庫的默認登錄驗證。

        PS: LDAP快速入門   http://www.cnblogs.com/obpm/archive/2010/08/28/1811065.html

    posted on 2013-06-27 16:30 此號已被刪 閱讀(7724) 評論(3)  編輯  收藏 所屬分類: Python

    評論

    # re: Django 使用LDAP驗證登錄[未登錄] 2013-10-21 19:23 left

    只用配置settings嗎  回復  更多評論   

    # re: Django 使用LDAP驗證登錄 2014-11-18 18:12 gaobo

    login頁面還需要額外寫么?
    會不會彈出一個http basic的用戶名&密碼輸入框?  回復  更多評論   

    # re: Django 使用LDAP驗證登錄 2014-12-25 11:39 jackyliu

    @left
    只配置settings 嗎?  回復  更多評論   

    導航

    統計

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕亚洲综合精品一区| 农村寡妇一级毛片免费看视频| 久久久久亚洲AV综合波多野结衣| a拍拍男女免费看全片| 一级毛片a免费播放王色| 99亚洲精品高清一二区| 亚洲精品NV久久久久久久久久| 在线观看免费人成视频| 久久国产精品免费视频| 国产精品亚洲片在线花蝴蝶| 亚洲另类古典武侠| 亚洲性猛交XXXX| 免费看国产精品麻豆| 97在线观看永久免费视频| 97无码人妻福利免费公开在线视频| 色偷偷亚洲第一综合网| 国产精品亚洲综合五月天| 亚洲天堂在线播放| 亚洲综合精品香蕉久久网| 国产成人免费手机在线观看视频| 18禁黄网站禁片免费观看不卡| 爱丫爱丫影院在线观看免费| 男女一边摸一边做爽的免费视频| 污视频网站在线观看免费| 亚洲国产精品无码第一区二区三区| 亚洲一卡二卡三卡| 亚洲最大的视频网站| 日韩亚洲Av人人夜夜澡人人爽 | 亚洲av永久无码制服河南实里| 亚洲福利中文字幕在线网址| 国产免费变态视频网址网站 | 亚洲AV无码无限在线观看不卡| 久久精品亚洲精品国产色婷| 亚洲激情在线视频| 久久99国产亚洲精品观看| 亚洲成AV人片在线观看无| 久久精品国产亚洲一区二区| 亚洲AV无码专区国产乱码4SE| 亚洲AV无码一区二区二三区软件| 亚洲成AV人片在线播放无码| 亚洲国产精品福利片在线观看|