【问题标题】:Find users of security group with django-python3-ldap使用 django-python3-ldap 查找安全组的用户
【发布时间】:2020-03-18 22:24:58
【问题描述】:

非常对 LDAP 和 AD 不熟悉。我正在使用 django-python3-ldap 对我的 django 应用程序的用户进行身份验证。 我们希望只有一部分用户可以访问我们的 django 应用程序,所以昨天他们添加了安全组“MyAppGroup”。唯一的问题是,我似乎无法将其添加到搜索库中。用户查找总是失败。

工作搜索库(返回所有用户):

"ou=Basic Users, ou=BIGAPP Users,dc=subd,dc=domain,dc=com"

当我询问时,他们说 MyAppGroup 是一个安全组,而“基本用户”和“BIGAPP 用户”是“AD 成员”。

dsquery group -name "MyAppGroup"

返回:

CN=MyAppGroup,OU=BIGAPP Groups,dc=subd,dc=domain,dc=com

此结果不能作为搜索库。 我是否需要添加自定义搜索过滤器才能正常工作?任何帮助表示赞赏。


编辑:添加 (&(memberOf=BIGAPPS Group)(memberOf=cn=MyAppGroup)) 到搜索过滤器现在返回“LDAP 用户属性为空”


编辑 2: 运行命令dsget group "CN=MyAppGroup,OU=BIGAPP Groups,dc=subd,dc=domain,dc=com" -members -expand 返回组成员列表:

"CN=用户 McLastname,OU=基本用户,OU=BIGAPP 组,dc=subd,dc=domain,dc=com" "CN=User2 o'Lastname,OU=Basic Users,OU=BIGAPP Groups,dc=subd,dc=domain,dc=com",..etc

所以我知道该组存在。我觉得我错过了一些小部分来完成这项工作。

编辑 3:

settings.py

​​>
LDAP_AUTH_URL = "ldap://sub.domain.com"
LDAP_AUTH_FORMAT_USERNAME = "django_python3_ldap.utils.format_username_active_directory"

LDAP_AUTH_USE_TLS = True

LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN = "SUBD"
LDAP_AUTH_SEARCH_BASE="DC=subd,DC=domain,DC=com"
LDAP_AUTH_OBJECT_CLASS="user"
LDAP_AUTH_USER_FIELDS = {
    "username": "sAMAccountName",
    "first_name": "givenName",
    "last_name": "sn",
    "email": "mail",
}

LDAP_AUTH_FORMAT_SEARCH_FILTERS="myapp.searchfilter.myapp_search_filters"

搜索过滤器

def myapp_search_filters(ldap_fields):
    search_filters = format_search_filters(ldap_fields)
    search_filters.append("(&(memberOf=cn=MyAppGroup,OU=BIGAPP_Group,DC=subd,DC=domain,dc=com))")

【问题讨论】:

  • 嗯,我很难想清楚这一切。 ous 是组织单位,我认为 MyAppGroup 会属于这些单位。我不知道他们为什么要尝试通过 cn 进行限制,这是一个通用名称。
  • 我没有在我的搜索过滤器中使用 MyAppGroup 的专有名称。 LisaJ 指出了这一点,我今天试了一下。像魅力一样工作。
  • 感谢您的光临,我正赶上截止日期并开始抽搐:o

标签: python django ldap ldap-query


【解决方案1】:

在 memberOf 过滤器中使用组的完全限定 DN:(&(memberOf=CN=MyAppGroup,OU=BIGAPP Groups,dc=subd,dc=domain,dc=com))

【讨论】:

  • 解决了!不了解专有名称的工作原理是问题所在。我已经在上面为其他人发布了我的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-29
  • 2017-03-31
  • 1970-01-01
  • 2017-11-26
  • 2011-09-15
  • 1970-01-01
相关资源
最近更新 更多