python 访问LDAP服务器
来源:互联网 发布:淘宝网京剧服装青衣 编辑:程序博客网 时间:2024/05/01 08:04
最近在做confluence数据迁移和升级。由于公司是使用LDAP认证登录的,在安装升级之后发现confluence自动从LDAP把全部用户名自动全部导入到了用户表(cwd_users)。可能是为了细化权限控制。但这样就问题就来了,全部用户名又没有按部门进行区分,在细分权限时也不好控制。
没办法,只好写个简单的python脚本从LDAP 服务器重新取一次,把用户按部门分类,好在后面做细分权限时控制。
需要用到ldap模块,下载地址:http://www.python-ldap.org/
程序如下:
# -*- coding: GBK -*-'''Created on 2012-12-7@author: herong'''import ldapdn = "cn=ldapname,OU=APPuser,dc=xxxx,dc=com,dc=cn"pw = "ldappw"department = {"-1":"中心", "000060100":"开发一部", "000060200":"开发二部", "000060300":"开发三部", "000060400":"开发四部",}conn = ldap.initialize('ldap://192.168.1.111')print connconn.simple_bind(dn, pw)base_dn = 'OU=000000001,OU=000000000,dc=xxxx,dc=com,dc=cn'filter = "(objectClass=user)"attrs = ['cn']for depa in department: base_dn_tmp = base_dn if depa != "-1": base_dn_tmp = "OU="+depa+","+base_dn_tmp print base_dn_tmp rs = conn.search_s(base_dn_tmp, ldap.SCOPE_ONELEVEL, filter, attrs) print "部门:%s,人数:%s"%(department[depa],len(rs)) for user in rs: print user[1]['cn'][0] print "#"*40
conn.unbind()if __name__ == '__main__': pass
说明:
conn.search_s(basedn,scope, filter,attrs) 函数参数说明:
basedn:表示从目录信息树中哪个目录开始查找
scope:表示查找深度
filter:表示必须满足的条目
attrs:表示要返回的属性,* 表示所有属性都返回
- python 访问LDAP服务器
- 通过python-ldap处理ldap服务器
- Java访问LDAP服务器认证代码示例
- ldap服务器
- 服务器-LDAP
- 使用Java访问LDAP服务器中的数据信息
- Python访问远程服务器
- ldap服务器搭建——python认证接口
- 使用 Python-LDAP 操作 LDAP
- JAVA访问ldap
- Java访问LDAP
- SpringLdap访问Ldap服务
- PHP 访问 LDAP
- Python实现ssh访问服务器
- python使用代理访问服务器
- LDAP服务器的安装
- LDAP服务器in Windows
- LDAP服务器安装配置
- 高度折叠jQuery+CSS 半开折叠效果源码
- 开发者需知的10类工具
- 用mkfs.jffs2 命令制作jffs2镜像文件
- 点分主机名
- MySQL内存使用说明(全局缓存+线程缓存)
- python 访问LDAP服务器
- 0001 计算机语言概述
- error LNK2005 已经在 obj 中定义 错误
- 前谷歌高管给初入职场新人的14条忠告
- 4.opencv之画图2
- 将goagent配置为系统服务
- ZOJ 2475 Benny's Compiler(DFS)
- [Hadoop] 完全分布式集群安装过程详解
- 详解c++内存分配方式