RT3中使用的LDAP组成员资格过滤器

时间:2012-08-20 23:47:49

标签: perl ldap rt

我正在尝试将LDAP身份验证设置为RT3站点的Active Directory服务器。

我认为LDAP身份验证模块中存在错误,但我真的不明白过滤器正在尝试做什么。见RT/Authen/ExternalAuth/LDAP.pm line 126

$ldap_msg = $ldap->search(  base   => $group,
                            filter => $filter,
                            attrs  => \@attrs,
                            scope  => 'base');

有一个配置文件指定groupgroup_attrgroup_attr_value

组作为$group传递,过滤器是从group_attr=group字符串创建的。在我的情况下,group_attr = presentmemberOf行返回CN=ITAdmins,CN=Builtin,DC=SPGLOBAL,DC=local,过滤器变为Filter: (present=CN=ITAdmins,CN=Builtin,DC=SPGLOBAL,DC=local)Attrs: dn

对于过滤器来说这是无效的,但任何对此有所了解的人都可以看到发生了什么意思吗?

1 个答案:

答案 0 :(得分:1)

感谢您发布代码链接,这使得理解起来更加简单。

因此,模型是,用用户名和密码进行验证,然后是$ group,如果已定义,则表示检查它们是否为组的成员以允许它们进入。

$ group应该是完整的LDAP DN,因此cn = AccessGroup,ou = Groups,dc = myDomain,dc = com等。

$ group_attr_val应该是member,memberOf或者Member,具体取决于目标LDAP目录中的成员属性。

所以我认为你的问题是group-attr = present可能是错误的,应该像成员一样简单。