这个模块提供了用python处理ldap内容的简单方法。

afpy.ldap的Python项目详细描述


afpy.ldap

此模块在http://www.afpy.org上积极用于管理法国python comunity成员。

以下示例显示了包的所有功能。如果你只是想 以最快的方式尝试一下从狮身人面像中读取Installation and configuration 文档。

获取连接(此自定义afpy连接获取来自 ~/.ldap.ini文件。见Installation and configuration):

>>> from afpy.ldap import custom as ldap
>>> conn = ldap.get_conn()

通过is dn:

获取节点
>>> dn = 'uid=gawel,ou=members,dc=afpy,dc=org'
>>> node = conn.get_node(dn)
>>> node
<Node at uid=gawel,ou=members,dc=afpy,dc=org>

>>> print node.birthDate
19750410000000Z

您还可以使用模式定义自己的节点类:

>>> from afpy.ldap.node import Node
>>> from afpy.ldap import schema
>>> class User(Node):
...     uid=schema.StringProperty('uid')
...     birthDate = schema.DateProperty('birthDate', title='Date de naissance')
>>> node = conn.get_node(dn, node_class=User)
>>> node
<User at uid=gawel,ou=members,dc=afpy,dc=org>

然后将数据转换为python对象:

>>> node.birthDate
datetime.date(1975, 4, 10)

这也允许生成带有FormAlchemy

的表单
>>> from afpy.ldap import forms
>>> fs = forms.FieldSet(User)
>>> user = User()
>>> fs.rebind(user)
>>> print fs.render().strip() # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
<div>
  <label class="field_opt" for="User--uid">Uid</label>
  <input id="User--uid" name="User--uid" type="text" />
</div>
...
<div>
  <label class="field_opt" for="User--birthDate">Date de naissance</label>
...

源代码可以在AFPy repository

有漏洞,功能请求?你喜欢送啤酒吗?发送一个 在gawel@afpy.org发送电子邮件,或在freenode上的afpy频道加入我们。

新闻

0.8.2

  • 添加listofGroups和listofPerms属性。允许设置user.groups=[]

0.8.1

  • 当UID不存在时,修复身份验证失败

0.8

  • 小修补程序
  • 添加不连续的组

0.7

  • 添加repoze.what插件
  • 允许通过配置文件设置节点类
  • 使用最新的python ldap修复compat

0.5

  • 需要dataflake.ldapconnection>;=1.0b1,python ldap>;=2.3.10

0.1

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ProcessBuilder在使用多个参数时运行不正常   java如何使用Spring数据ORM/JPA创建EntityManagerFactory?   将Velocity宏转换为Java指令   internet上的Java TCP/IP服务器客户端通信   java为什么JDK 8允许一个局部内部类(在方法内部)访问封闭方法的非最终局部变量?   基于Java的比率算法   java应用程序在选择列表首选项时出错   java保存对象以供以后使用   java如何使用MySQL JDBC驱动程序连接Android和MySQL   java Zipkin可以用于控制台应用程序   java单击刷新Servlet页面显示重复内容   java如何递归地反转字符串数组?   java如何使用inputStream作为outputStream的文本?   java扩展令牌选择操作符   java在映射中使用通用枚举类   arraylist如何使用JAVA流从对象列表中查找平均值   windows将FileInputStream和FileOutputStream传递给ffmpeg进行转码(使用JAVEJava音频视频编码)   java Ant脚本在执行CVS签出后找不到目标   重复值情况下的java插入排序,双链表ADT   java如何在Accumulo中获取数据库查询计数