这个模块提供了用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调用外部进程exe   java跨源请求阻止Spring REST服务+AJAX   运行Eclipse创建的JAR时未显示java图像   带有自定义适配器的TimerTask期间的java更新列表视图   Java Netbeans 7.01中的swing注册表单空指针异常   java如何向所有HttpClient请求方法添加参数?   为什么在将json映射到JavaBean的过程中,Spring MVC将参数[“”]转换为[null]?   创建名为“messageDispatcher”的bean时发生java错误   java Apache骆驼线程JDBC   java Spring引导请求添加bean,即使存在   java如何以正确的方式编写单例?   JavaSpringBoot试图使用@JsonTest注释在测试中创建mongo存储库   java Android将gmt时间转换为可读日期   java“Serializable无法解析为类型”   spring我可以在Java注释中使用ScopedProxy模式时访问JobExecutionContext吗   java slf4j apache tomcat eclipse   通过HashMap的java循环   java无法在两个活动之间更改TextView?