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

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

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

    Natural

     

    Django 使用LDAP驗(yàn)證登錄

        學(xué)習(xí)Django做了個(gè)小網(wǎng)站,但是如果只用在公司內(nèi)部的話,特此又要員工注冊(cè)網(wǎng)站帳號(hào),這個(gè)是個(gè)槽糕的問題。

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

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

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

        安裝完成后,django項(xiàng)目中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 }

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

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

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

    評(píng)論

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

    只用配置settings嗎  回復(fù)  更多評(píng)論   

    # re: Django 使用LDAP驗(yàn)證登錄 2014-11-18 18:12 gaobo

    login頁面還需要額外寫么?
    會(huì)不會(huì)彈出一個(gè)http basic的用戶名&密碼輸入框?  回復(fù)  更多評(píng)論   

    # re: Django 使用LDAP驗(yàn)證登錄 2014-12-25 11:39 jackyliu

    @left
    只配置settings 嗎?  回復(fù)  更多評(píng)論   

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊(cè)

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 大地资源网高清在线观看免费| 国产免费爽爽视频在线观看| 亚洲日韩精品无码专区网站| 两个人看www免费视频| 亚洲精品偷拍无码不卡av| 日韩午夜免费视频| 大地资源在线资源免费观看| 亚洲a∨无码男人的天堂| 亚洲成a人片在线观看老师| 91香蕉国产线在线观看免费| 亚洲精品久久久久无码AV片软件| 久久久久亚洲精品天堂久久久久久| 亚洲啪啪免费视频| 成人免费夜片在线观看| 亚洲欧洲久久精品| 国产成人高清亚洲| 成年轻人网站色免费看| a级毛片100部免费观看| 亚洲 日韩经典 中文字幕| 久久91亚洲人成电影网站| 黄a大片av永久免费| 99久久人妻精品免费一区| 日本一区二区三区免费高清在线| 亚洲美女视频免费| 在线精品亚洲一区二区小说| 成人免费午夜视频| 亚洲黄色免费观看| a级毛片免费高清毛片视频| 老司机免费午夜精品视频| 亚洲噜噜噜噜噜影院在线播放| 亚洲日本乱码在线观看| 国产禁女女网站免费看| 黄在线观看www免费看| 久久久久久免费一区二区三区 | 亚洲成a人片7777| 久久国产成人精品国产成人亚洲 | 亚洲一区二区三区在线视频| 我要看WWW免费看插插视频| 蜜桃AV无码免费看永久| a成人毛片免费观看| 人妻无码中文字幕免费视频蜜桃 |