cone.app的LDAP集成
项目描述
提供LDAP集成的cone.app插件。
功能
通过node.ext.ldap进行LDAP访问
将应用程序集成到cone.app
集成到cone.ugm
POSIX支持
Samba支持
开发设置
先决条件
lxml,python-ldap和openldap需要编译,系统上必须安装所需的开发头文件。
基于debian的系统安装
$ apt-get install -y libxml2-dev libxslt1-dev
$ apt-get install -y libsasl2-dev libssl-dev libdb-dev
安装
cone.ldap包含一个buildout配置。下载或检出包并运行
cone.ldap$ ./bootstrap.sh python3
启动带有适当LDIF层的测试LDAP服务器
cone.ldap$ ./bin/testldap start groupOfNames_10_10
启动应用程序
cone.ldap$ ./bin/pserve cfg/gon_10_10/ldap_gon_10_10.ini
并在https://127.0.0.1:8081/上浏览。默认admin用户密码是admin。
如果角色配置正常,则仅显示主表单中的“角色”行为。测试层导入的LDIF默认不提供角色容器。要启用演示中的角色,请浏览“设置 -> LDAP角色”并执行“创建角色容器”操作。
注意:如果python_ldap失败,请勿使用buildout离线模式!
配置和自定义
常规
要自定义插件,请创建一个集成包并将其包含在您的设置中。
应用程序配置
要定义与LDAP相关的配置位置,请在您的应用程序ini文件中提供以下设置。
# LDAP UGM backend activation
ugm.backend = ldap
# Basic LDAP server configuration
ldap.server_config = /path/to/ldap_server.xml
# LDAP UGM backend related configuration
ldap.users_config = /path/to/ldap_users.xml
ldap.groups_config = /path/to/ldap_groups.xml
ldap.roles_config = /path/to/ldap_roles.xml
这些配置文件的示例可以在源包的cfg文件夹中找到。
UGM默认值和默认值回调
根据用户和组使用的LDAP对象类,条目需要更多或更少的属性。可能并非所有这些属性都应该对用户可见。其中一些甚至可能需要计算。因此,插件支持默认值和默认值回调。
默认值和回调通过 factory_defaults.users、factory_defaults.groups 和 factory_defaults.roles 进行注册。
from cone.ldap.settings import factory_defaults
工厂默认值可以是静态值。
factory_defaults.user['someField'] = '12345'
默认值回调获取主体节点和ID作为属性。
def some_field_callback(node, id):
return 'some computed value'
factory_defaults.user['someField'] = some_field_callback
Samba支持
启用samba支持的示例配置。
from cone.ldap.settings import factory_defaults
from node.ext.ldap.ugm import posix
from node.ext.ldap.ugm import shadow
from node.ext.ldap.ugm import samba
samba.SAMBA_LOCAL_SID = 'S-1-5-21-1234567890-1234567890-1234567890'
samba.SAMBA_DEFAULT_DOMAIN = 'yourdomain'
samba.SAMBA_PRIMARY_GROUP_SID = 'S-1-5-21-1234567890-1234567890-1234567890-123'
user = factory_defaults.user
user['gidNumber'] = posix.memberGid
user['loginShell'] = posix.loginShell
user['shadowFlag'] = shadow.shadowFlag
user['shadowMin'] = shadow.shadowMin
user['shadowMax'] = shadow.shadowMax
user['shadowWarning'] = shadow.shadowWarning
user['shadowInactive'] = shadow.shadowInactive
user['shadowLastChange'] = shadow.shadowLastChange
user['shadowExpire'] = shadow.shadowExpire
user['sambaSID'] = samba.sambaUserSID
user['sambaDomainName'] = samba.sambaDomainName
user['sambaPrimaryGroupSID'] = samba.sambaPrimaryGroupSID
user['sambaAcctFlags'] = samba.sambaAcctFlags
user['sambaPwdLastSet'] = samba.sambaPwdLastSet
group = factory_defaults.group
factory_defaults.group['memberUid'] = posix.memberUid
贡献者
Robert Niederreiter(作者)
变更
0.2 (2022-12-05)
将 users_expires_attr 和 users_expires_unit 设置从 cone.ugm 移动,因为它们始终只用于LDAP UGM后端。
0.1 (2020-07-09)
初始发布。
许可证
版权(c)2019-2021,BlueDynamics Alliance,奥地利 版权(c)2021-2022,Cone 贡献者 版权所有。
重新分发和使用源代码和二进制形式,无论是否修改,只要满足以下条件
源代码的重新分发必须保留上述版权声明、本条件列表和以下免责声明。
二进制形式的重新分发必须在本文档和/或其他提供的材料中复制上述版权声明、本条件列表和以下免责声明。
本软件由版权所有者和贡献者提供“按原样”和任何明示或暗示的保证,包括但不限于适销性和适用于特定目的的暗示保证均予以否认。在任何情况下,版权所有者或贡献者不应对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代货物或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论此类损害是由于何种原因造成,无论是在合同、严格责任或侵权(包括疏忽或其他)中,即使被告知本软件存在此类损害的可能性。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
cone.ldap-0.2.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | deb3063d84505a644c7823d7794168548cafe2dc2a44d7c374487b1ea939d8e7 |
|
MD5 | c8b76eb87549eb2159eadbd11ef28435 |
|
BLAKE2b-256 | 486df096cda9f67ed7d066b703732cc5e354aae67b1d8f5945b8d4f38cca8c24 |