python+ldap操作

python+ldap操作,第1张

from ldap3  import Server, Connection, ALL, MODIFY_ADD, MODIFY_REPLACE, MODIFY_DELETE

class Connect_ldap:

    def __init__(self):   #初始化

        self.server ='10.10.10.10'   #ldap服务器地址

        self.user ='cn=Directory Manager'   # Bind DN or user

        self.base_dn ='dc=bizenit,dc=com'  #base_dn

        self.pwd ='XXXXXXX'    #密码

        self.port =5389   #端口

    def connect(self):    #连接ldap服务

        server = Server(host=self.server, port=self.port, get_info=ALL)

        conn = Connection(server=server, user=self.user, password=self.pwd, auto_bind=True)

        return conn

    def add_user(self):   #添加条目

        i =1

        j =17300000001

        conn =self.connect()

        while i <220000:

            mail =str(j) +"@mail.com"

            print(conn.add("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),

                          object_class=['top', 'inetOrgPerson', 'person', 'organizationalPerson',

                                        'smart-extends', 'customized-extends'],        #类型

                          attributes={'cn':"username%s" % (i), 'smart-type':"E1",

                                      'departmentNumber':"D1155073", 'mobile': j,

                                      'smart-status':1, 'mail': mail, 'telephoneNumber': j,

                                      'userPassword':"smart123"}))    #属性

            i +=1

            j +=1

    def delete_user(self):     #删除条目

        i =1

        conn =self.connect()

        while i <220000:

            print(conn.delete("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i)))

            i +=1

    def modify_user(self):      #修改条目 

        i =793123

        j =17300793123

        conn =self.connect()

        while i <1000000:

            conn.modify("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),

                        {"objectClass": [(MODIFY_ADD, ['customized-extends', 'smart-extends'])]})

mail =str(j) +"@mail.com"

            a = conn.modify("uid=sidl%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),

                            {"departmentNumber": [(MODIFY_ADD, ['D1155073'])], "smart-type": [(MODIFY_ADD, ["E1"])],

                            "telephoneNumber": [(MODIFY_ADD, [j])], "userPassword": [(MODIFY_ADD, ["smart123"])],

                            "smart-status": [(MODIFY_ADD, [1])], "mail": [(MODIFY_ADD, [mail])]})

        print(a)

        print(i)

        i +=1

        j +=1

    def modify_dn_user(self):    #移动条目

        i =1

        j =17300000001

        conn =self.connect()

        print(conn.modify_dn("uid=username%s,ou=People,dc=bizenit,dc=com" % (i), 'uid=username%s' % (i),

                            new_superior="ou=Internal,ou=People,dc=bizenit,dc=com"))

        i +=1

        j +=1

if __name__ =="__main__":

a = Connect_ldap()

a.add_user()

LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单得多并且可以根据需要定制。

LDAP由互联网工程任务组(IETF)的文档RFC定义,使用了描述语言ASN.1定义。最新的版本是版本3,由RFC 4511所定义。例如,一个用语言描述的LDAP的搜索如:“在公司邮件目录中搜索公司位于那什维尔名字中含有“Jessy”的有邮件地址的所有人。请返回他们的全名,电子邮件,头衔和简述。”

扩展资料:

LDAP-开发方式

如果需要开发一种提供公共信息查询的系统一般的设计方法可能是采用基于WEB的数据库设计方式,即前端使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT + IIS + Acess数据库或者是SQL SERVER,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能;

参考资料来源:百度百科-LDAP

参考资料来源:百度百科-目录访问协议

应该叫做LDAP服务器吧。

LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。LDAP是一个比关系数据库抽象层次更高的存贮概念,与关系数据库的查询语言SQL属同一级别。LDAP最基本的形式是一个连接数据库的标准方式。LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。

LDAP服务器,可以说是安装了LDAP软件,并提供LDAP支持和服务的服务器。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/428794.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-27
下一篇2023-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存