最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python ldap實(shí)現(xiàn)登錄實(shí)例代碼

 更新時(shí)間:2016年09月30日 13:59:26   作者:張瑜  
今天給大家分享python idap實(shí)現(xiàn)登錄的實(shí)例代碼,代碼簡(jiǎn)單易懂,需要的朋友一起看看吧

下面一段代碼是小編給大家介紹的Python ldap實(shí)現(xiàn)登錄實(shí)例代碼,一起看看吧

ldap_config = {
  'ldap_path': 'ldap://xx.xx.xx.xx:389',
  'base_dn': 'ou=users,dc=ledo,dc=com',
  'ldap_user': 'uid=reporttest,ou=users,dc=ledo,dc=com',
  'ldap_pass': '111111.0',
  'original_pass': '111111.0'
}
ldap_message = {
  0: 0, #'ok'
  1: 1, #'用戶名或密碼錯(cuò)誤'
  2: 2, #ldap驗(yàn)證異常'
}
import ldap
import base64
import hashlib
from config_message import ldap_config, ldap_message
class LDAP_API(object):
  _ldap_path = ldap_config['ldap_path']
  _base_dn = ldap_config['base_dn']
  _ldap_user = ldap_config['ldap_user']
  _ldap_pass = ldap_config['ldap_pass']
  _original_pass = ldap_config['original_pass']
  # 連接ldap服務(wù)器
  def __init__(self):
    try:
      self.ldapconn = ldap.initialize(self._ldap_path)
      self.ldapconn.protocal_version = ldap.VERSION3
      self.ldapconn.simple_bind(self._ldap_user, self._ldap_pass)
    except ldap.LDAPError, e:
      print e
  # 驗(yàn)證用戶登錄
  def ldap_check_login(self, username, password):
    obj = self.ldapconn
    searchScope = ldap.SCOPE_SUBTREE
    # searchFilter = '(&(cn='+username+')(userPassword='+password+'))'
    searchFilter = 'uid=' + username
    try:
      obj.search(self._base_dn, searchScope, searchFilter, None) # id--2
      # 將上一步計(jì)算的id在下面運(yùn)算
      result_type, result_data = obj.result(2, 0)
      if result_type != ldap.RES_SEARCH_ENTRY:
        return {'status': ldap_message[1], 'data': ''}
      dic = result_data[0][1]
      l_realname = dic['sn'][0]
      l_password = dic['userPassword'][0]
      md_password = LDAP_API.hash_md5(password)
      if l_password in (password, md_password):
        return {'status': ldap_message[0], 'data': l_realname}
      else:
        return {'status': ldap_message[1], 'data': ''}
    except ldap.LDAPError, e:
      return {'status': ldap_message[2], 'data': ''}
  @staticmethod
  def hash_md5(data):
    md = hashlib.md5()
    md.update(str(data))
    a = md.digest()
    b = '{MD5}' + base64.b64encode(a)
    return b

相關(guān)文章

  • python爬蟲正則表達(dá)式之處理?yè)Q行符

    python爬蟲正則表達(dá)式之處理?yè)Q行符

    本文是腳本之家小編剛學(xué)習(xí)python記錄的關(guān)于python爬蟲正則表達(dá)式之處理?yè)Q行符的相關(guān)資料,需要的朋友可以參考下
    2018-06-06
  • python paramiko模塊學(xué)習(xí)分享

    python paramiko模塊學(xué)習(xí)分享

    這篇文章主要為大家分享了python paramiko模塊的學(xué)習(xí)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • python?Sweetviz探索性數(shù)據(jù)可視化分析庫(kù)使用特征詳解

    python?Sweetviz探索性數(shù)據(jù)可視化分析庫(kù)使用特征詳解

    這篇文章主要為大家介紹了python?Sweetviz探索性數(shù)據(jù)可視化分析庫(kù)特征使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python Json讀寫操作之JsonPath用法詳解

    Python Json讀寫操作之JsonPath用法詳解

    JSONPath是一種信息抽取類庫(kù),是從JSON文檔中抽取指定信息的工具,提供多種語(yǔ)言實(shí)現(xiàn)版本,包括Javascript、Python、PHP和Java,這篇文章主要介紹了Python Json讀寫操作之JsonPath用法詳解,需要的朋友可以參考下
    2023-04-04
  • django中的自定義分頁(yè)器的實(shí)現(xiàn)示例

    django中的自定義分頁(yè)器的實(shí)現(xiàn)示例

    本文主要介紹了django中的自定義分頁(yè)器的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python 爬蟲學(xué)習(xí)筆記之多線程爬蟲

    Python 爬蟲學(xué)習(xí)筆記之多線程爬蟲

    本文給大家介紹的是python基于XPath實(shí)現(xiàn)多線程爬蟲的實(shí)例以及XPath的介紹安裝和簡(jiǎn)單用法,非常的細(xì)致,有需要的小伙伴可以參考下
    2016-09-09
  • 詳解Python中文分詞而生的jieba庫(kù)

    詳解Python中文分詞而生的jieba庫(kù)

    這篇文章主要介紹了詳解Python中文分詞而生的jieba庫(kù),在Python中,最好用的中文分詞庫(kù)是jieba。用“結(jié)巴”給一個(gè)中文分詞庫(kù)命名,非常生動(dòng)形象,同時(shí)還帶有一種程序員式的幽默感,需要的朋友可以參考下
    2023-07-07
  • 利用Python如何畫一顆心、小人發(fā)射愛(ài)心

    利用Python如何畫一顆心、小人發(fā)射愛(ài)心

    這篇文章主要給大家介紹了關(guān)于利用Python如何畫一顆心、小人發(fā)射愛(ài)心的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 詳解python itertools功能

    詳解python itertools功能

    itertools是python內(nèi)置的模塊,使用簡(jiǎn)單且功能強(qiáng)大,這里嘗試匯總整理下,并提供簡(jiǎn)單應(yīng)用示例,這篇文章主要介紹了python itertools功能,需要的朋友可以參考下
    2020-02-02
  • 教你利用pygame模塊制作跳躍小球小游戲

    教你利用pygame模塊制作跳躍小球小游戲

    pygame是一個(gè)專門設(shè)計(jì)來(lái)進(jìn)行游戲開(kāi)發(fā)設(shè)計(jì)的Python模塊,因?yàn)閿[脫了被低級(jí)語(yǔ)言(如機(jī)器語(yǔ)言和匯編語(yǔ)言)的束縛,使用起來(lái)非常的簡(jiǎn)單,這篇文章主要給大家介紹了關(guān)于如何利用pygame模塊制作跳躍小球小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-08-08

最新評(píng)論

开原市| 东安县| 沈阳市| 泸西县| 璧山县| 房山区| 禄劝| 玉屏| 大安市| 五家渠市| 德保县| 芒康县| 五寨县| 政和县| 远安县| 高雄县| 建平县| 富蕴县| 临澧县| 哈尔滨市| 汤原县| 泽州县| 河间市| 天全县| 黄梅县| 高尔夫| 泗水县| 且末县| 孝昌县| 芜湖县| 密山市| 江华| 罗平县| 皋兰县| 康平县| 博乐市| 化德县| 衡阳市| 巫溪县| 光山县| 普定县|