devpi ldap:devpi服务器的ldap身份验证

devpi-ldap的Python项目详细描述


devpi ldap:devpi服务器的ldap身份验证

Latest Version

用于devpi server>;=2.1.0。

安装

devpi-ldap需要与devpi-server一起安装。

您可以使用以下命令安装它:

pip install devpi-ldap

对于devpi-server,不需要配置来激活插件,因为它将使用setuptools入口点机制通过调用钩子自动发现插件。但是,您需要通过--ldap-config命令行选项将带有yaml配置文件的路径传递给devpi-server

下面是LDAP配置的详细信息。

配置

名为devpi-ldap的脚本可用于测试LDAP配置。

要配置LDAP,请在devpi-ldap键下使用包含另一个字典的字典创建一个YAML文件,选项如下:

url
LDAP服务器的URL。 使用ldaps://启用ssl。 目前不执行证书验证。
user_template
为用户生成可分辨名称的模板。 如果结构是固定的,这比指定{TT11} $更快,但是^ {TT2}$不能知道用户是否存在。
user_search
如果不能或不想使用user_template,则这些是用户可分辨名称的搜索设置。 您可以在搜索筛选器中使用username。 请参阅下面的详细信息。
group_search
用户组对象的搜索设置。 您可以在搜索筛选器中使用usernameuserdn(可分辨名称)。 请参阅下面的详细信息。
referrals
是否跟踪转诊。 在许多情况下,通过windows上的active directory使用ldap时,这需要设置为false。 默认值是true
reject_as_unknown
将所有失败的身份验证尝试报告为unknown,而不是 reject。这很有用,例如,如果使用提供的凭据绑定 到LDAP,在这种情况下,我们无法区分身份验证失败和 未知用户。unknown需要让其他身份验证挂钩尝试 对用户进行身份验证。
tls
ldap3.Tls object参数 传输层安全,用于LDAPS连接。

user_searchgroup_search设置是具有以下选项的词典:

base
要搜索的基本位置。
filter
搜索筛选器。 要使用替代品,请将它们放在大括号中。 示例:(&(objectClass=group)(member={userdn}))
scope
搜索范围。 有效值是base-objectsingle-levelwhole-subtree。 默认值是whole-subtree
attribute_name
应该从搜索结果中提取的属性的名称。
userdn
应用于搜索操作的用户的可分辨名称。 对于user_search,如果您没有匿名用户搜索,或者对于group_search如果用户无法搜索自己的组,则需要将其设置为具有必要权限的用户。
password
用户在userdn中的密码。

然后,yaml文件应该类似于此:

---devpi-ldap:url:ldap://example.comuser_template:CN={username},CN=Partition1,DC=Example,DC=COMgroup_search:base:CN=Partition1,DC=Example,DC=COMfilter:(&(objectClass=group)(member={userdn}))attribute_name:CN

用户搜索和活动目录的示例如下:

---devpi-ldap:url:ldap://example.comuser_search:base:CN=Partition1,DC=Example,DC=COMfilter:(&(objectClass=user)(sAMAccountName={username}))attribute_name:distinguishedNamegroup_search:base:CN=Partition1,DC=Example,DC=COMfilter:(&(objectClass=group)(member={userdn}))attribute_name:CN

更改日志

1.2.2-2018年5月28日

  • 更多ldap3 2.x修复。 [fschulze]

1.2.1-2018年5月25日

  • 修复与ldap3 2.x的兼容性。 [fschulze,磨料(james laird wah)]
  • 已停止使用Python2.6进行测试,但未进行任何破坏兼容性的更改。

1.2.0-2016年3月25日

  • 在配置中添加对tls参数的支持。 [贾拉科(Jason R.Coombs)]
  • 允许通过python -mdevpi-ldap调用并修复python 3的cli。 [贾拉科]
  • 在身份验证失败时将退出代码添加到测试脚本。 [贾拉科]

1.1.1-2016-01-28

  • 设置最小值ldap3库的版本,它在调试中添加了密码隐藏 登录中。 [卡纳塔格(乔瓦尼卡纳塔)、罗德克鲁蒂埃(罗德里格克鲁蒂埃)、弗斯丘尔泽]
  • 更改已重命名的LDAP库的依赖项。 [库米]
  • 修复问题5:DN和DistinguishedName可能显示为顶级响应 属性而不是属性列表。 [凯恩斯(布莱恩·罗奇)]
  • 修复问题24:忽略其他搜索结果数据。 [邦萨尼(帕特里西奥·邦萨尼),弗斯丘尔泽]

1.1.0-2014年11月10日

  • 添加reject_as_unknown选项 [大卫佐顿(大卫佐顿)]

1.0.1-2014年10月10日

  • 修复插件挂钩 [fschulze]

1.0.0-2014年9月22日

  • 初次发行 [弗斯丘尔泽(弗洛里安·舒尔泽)]

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

推荐PyPI第三方库


热门话题
java在panelgrid中填充包含行和列的列表   Java中swing JList作为选项卡   java Zookeeper与spotify kafka图像的cprestproxy连接失败   java maven 3.0+跳过“mvn部署”上的插件执行   多线程在Java中,如何在同一网络上的服务器和客户端之间创建同步连接?   java Hibernate JPA“未找到关联类”,使用另一个实体作为键,可嵌入作为值   java在javamail api中用于会话的库   java活动生命周期回调混乱?   产生乱码输出的java if语句   java我无法从RESTAPI URL获取JSON对象   java如何在dropwizard中禁用cron作业   java公共静态工厂方法   java com。脸谱网。反应桥JavaJSExecutor$ProxyExecutor异常   Java中的安卓事件处理   java如何将p6spy与proxydatasource一起使用   使用JPQL时@Version的java行为   java不支持JDK7NIO。2在Linux上使用Epoll等?   使用Java Redis客户端(莴苣)连接到Amazon ElastiCache   在Java中将SQL Server的所有列中的一种数据类型更改为另一种数据类型   java在程序中删除抽象类的对象