python-ldap

一、安装python-ldap找不到lber.h的解决方法

sudo apt-get install libldap2-dev libsasl2-dev

二、示例

# coding=utf8
import ldap
searchname=‘zzz‘
username=‘xxx‘
password=‘xxx‘
uid = ‘%[email protected]‘ % (username)

l = ldap.initialize(‘ldap://host:389‘)
#ldap.open(‘ldap://host‘)
try:
    l.protocol_version = 3
    l.set_option(ldap.OPT_REFERRALS,0)
    l.simple_bind_s(uid, password)
    print l.whoami_s()

    searchFilter = "sAMAccountName=" + searchname
    retrieveAttributes = None
    searchScope = ldap.SCOPE_SUBTREE

    ldap_result_id = l.search(base, searchScope, searchFilter, retrieveAttributes)
    print ldap_result_id

    result_set = []
    while 1:
            result_type, result_data = l.result(ldap_result_id, 0)
            if(result_data == []):
                break
            else:
                if result_type == ldap.RES_SEARCH_ENTRY:
                    result_set.append(result_data)

    Name,Attrs = result_set[0][0]
    print Name
    for k,v in Attrs.items():
        print k , ‘/‘.join(v)
except ldap.INVALID_CREDENTIALS , ldap.LDAPError:
    #l.unbind()
    print ‘Wrong username or password‘
finally:
    l.unbind()
时间: 2024-10-13 23:46:35

python-ldap的相关文章

Nginx 结合Python Ldap认证用于Kibana权限登陆

参考及依赖 https://github.com/nginxinc/nginx-ldap-auth http://nginx.org/ nginx-1.14.2 http_auth_request_module nginx-ldap-auth python2.7 python-ldap Nginx支持ldap 部署nginx,注意需要http_auth_request_module支持 wget http://nginx.org/download/nginx-1.14.2.tar.gz tar

中小公司统一用户认证方案

现象:    开发账号混乱,GitLab.Jira.Confluence各一套账号,那叫一个乱    两个机房 VPN 两套,开发.运维.测试各种切换    WIFI 没有对用户做认证,只是统一密码连接    内部各种运营平台,各种密码 对策:    公司员工各种开发应用账号统一用 LDAP 认证    VPN 账号用 LDAP 认证,机房专线打通(网络组同学做)    WIFI 这边用的是 LDAP + FreeRADIUS + Cisco WLC    为内部运营平台登陆提供LDAP API

openvpn原理,安装部署

1. vpn介绍 VPN(全称Virtual Private Network)虚拟专用网络,是依靠ISP和其他NSP,在公共网络中建立专用的数据通信网络技术,可以为企业之间或者个人与企业之间提供安全的数据传输隧道服务.在VPN中任意两点之间的连接并没有传统专网所需的端到端的物理链路,而是利用公共网络资源动态组成的,可以理解为通过私有隧道技术在公共数据网络上模拟出来的和专网有同样功能的点到点的专线技术,所谓虚拟是指不需要去拉实际的长途物理线路,而是借用Internet公共网络实现 OpenVPN是

Python实现LDAP用户名密码验证

网上借鉴了不少东西,下面是python代码,备份后用. 思路,因为每个用户的组都不一样,这样就导致了dn不一致的情况, 据需要先根据用户名获取该用户的dn,然后再bind用户名和密码进行验证. 反正是实现了,至于方式对不对后续再研究了. 机器上要先安装python-ldap包 1 #coding: utf-8 2 import ldap 3 ''' 4 实现LDAP用户登录验证,首先获取用户的dn,然后再验证用户名和密码 5 ''' 6 7 ldappath = "ldap://xxxx&quo

python 连接使用LDAP认证的hive

主要使用pyhive包. 使用linux中的普通账号,venv环境.python版本 3.6.4. ldap认证需要sasl包,在安装sasl包的时候因为机器中没有g++编译器,导致无法安装.因为我使用的普通账号,没法给服务器安装g++编译器,解决的方案是在另一台机器中安装sasl,将安装完成后生成的.so动态链接库文件及py文件直接拷贝到合适目录即可使用. 以下是连接hive的示例代码: #!/bin/python # -*- coding: utf-8 -*- import sys,pyhi

Python 操作LDAP实现用户统一认证密码修改功能

最近做了一个单点登录系统,使用的openLDAP存储用户和组信息.封装了一个ldap的操作类.ldap这东西还是蛮复杂的,用以备忘吧.要是不知道LDAP是什么东西,请把鼠标移到浏览器右上角,mac系统移到左上角,点小叉叉.呵呵-- #-*- coding: UTF-8 -*- import sys,ldap import ldap LDAP_HOST = '10.10.10.10' USER = 'cn=admin,dc=gccmx,dc=cn' PASSWORD = 'yourpass' BA

python :通过Ldap 3 模块查询AD 组和 AD 用户名单

from ldap3 import Server, Connection, ALL, NTLM 定义一个类用于操作AD class Operate_AD():def init(self,Domain,User,Password):self.domain=Domainself.user=Userself.pwd=Passwordself.DC=','.join(['DC=' + dc for dc in Domain.split('.')])self.pre = Domain.split('.')

Python+Nginx实现邮件POP、IMAP、SMTP代理配置介绍

说到Python,大家都知道,是在运维方面的管理人员需要掌握的一门技术,为什么这么说呢,在运维方面Python开发语言应用比较广,以致可以帮助管理员提高工作效率,具体我就不多少了,接着我们说说邮件代理,因为公司的邮箱系统是使用是IBM的Domino Lotus服务,如果对Lotus了解的都知道,Lotus是文件数据库类型的服务器类型,用户的所有邮箱数据库都是独立的xxx.nsf,而通过数据库模板xxx.ntf进行创建或者定时刷新数据,来保证数据库的额稳定性.而当用户数量多的话,就需要创建多台邮件

ldap快速搭建步骤版

步骤版: ==================================服务器的设置======================================= yum install -y openldap openldap-servers openldap-clients openldap-devel cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf && cp /usr/sh

Python基础day-8[装饰器补充,迭代器(未完)]

wraps模块: 让函数保留原来的说明信息. 在闭包函数上面 @wraps 可以把原代码的解释,引用到装饰器中,让用户彻底无法感知装饰器的存在 使用 func.__doc__ 和 print(help(func))来查看函数的注释信息 from functools import wraps import time def coutime(func): @wraps(func) #调用wraps模块 def wrapper(*args,**kwargs): # 'a1231231231231232