如何将 LDAP AD 组映射到 python flask AppBuilder 中的用户角色

Posted

技术标签:

【中文标题】如何将 LDAP AD 组映射到 python flask AppBuilder 中的用户角色【英文标题】:How to map LDAP AD Groups to User roles in python flask AppBuilder 【发布时间】:2018-12-02 18:06:21 【问题描述】:

我目前正在尝试将 LDAP 中的用户组自动映射到基于烧瓶 AppBuilder 框架的应用程序中的用户角色,但无法提出解决方案。我已经阅读了整个烧瓶 AppBuilder 文档,但没有找到与此相关的任何内容。 这是我想出的基本配置。我不知道如何将不同的角色映射到不同的用户组。

AUTH_TYPE = AUTH_LDAP
AUTH_LDAP_SERVER = "ldap://ldapserver.local"
AUTH_LDAP_USE_TLS = False
AUTH_LDAP_SEARCH = "dc=domain,dc=local"
AUTH_LDAP_BIND_USER = "CN=Query User,OU=People,dc=domain,dc=local"
AUTH_LDAP_BIND_PASSWORD = "password"
AUTH_USER_REGISTRATION = True
AUTH_USER_REGISTRATION_ROLE = "Admin"

【问题讨论】:

你找到正确的配置了吗?我正在尝试配置我的 apache 气流服务器,但似乎无法为我们的 AD 服务器找到正确的设置。 【参考方案1】:

气流2.1.1

WTF_CSRF_ENABLED = True
AUTH_TYPE = AUTH_LDAP
AUTH_ROLE_ADMIN = 'Admin'
AUTH_USER_REGISTRATION = True

AUTH_USER_REGISTRATION_ROLE = "Public"

AUTH_LDAP_USE_TLS = False
AUTH_LDAP_SERVER = "ldap://ldapserver.local:389"

AUTH_LDAP_SEARCH = "OU=Users,DC=ldapserver,DC=local"

AUTH_LDAP_BIND_USER = "CN=Query User,OU=People,dc=ldapserver,dc=local"
AUTH_LDAP_BIND_PASSWORD = "password"

AUTH_LDAP_UID_FIELD = "sAMAccountName"

AUTH_ROLES_MAPPING = 
    "CN=group_1_name,OU=Groups,DC=ldapserver,DC=local": ["Admin"],
    "CN=group_2_name,OU=Groups,DC=ldapserver,DC=local": ["Viewer"],


AUTH_LDAP_GROUP_FIELD = "memberOf"
AUTH_ROLES_SYNC_AT_LOGIN = False
PERMANENT_SESSION_LIFETIME = 1800

【讨论】:

以上是关于如何将 LDAP AD 组映射到 python flask AppBuilder 中的用户角色的主要内容,如果未能解决你的问题,请参考以下文章

如何将 AD FS 组成员身份映射到自定义 AWS Cognito 属性?

User-ID

User-ID

Keycloak:将 ldap 组映射到 springboot 角色

我在骆驼下使用 apache shiro,我无法使用 ldap/active 目录将组映射到角色

将 AD 组映射到没有自定义角色提供程序的角色 (.NET MVC)