【问题标题】:redmine ldap authentication failredmine ldap 身份验证失败
【发布时间】:2016-02-05 03:58:48
【问题描述】:

我没有成功使用 Redmine 进行 LDAP 身份验证。以下是对我所做的事情的描述:

我在 Centos 6.7 上安装了 Bitnami Redmine,并尝试在 MS Windows server 2012 上针对 AD 进行身份验证。

Environment: Redmine version 3.1.1.stable
Ruby version 2.0.0-p647 (2015-08-18) [x86_64-linux]
Rails version 4.2.4
Environment production
Database adapter Mysql2
SCM:
  Subversion 1.6.11
  Git 1.7.1
  Filesystem

Redmine plugins:
  no plugin installed

这是我在 Redmine 上的 LDAP 配置:

Name: geo-AD
Host: geo-dc.geo.net
Port 389 LDAPS: No
User: ldapuser
DN Base: DC=geo-dc,DC=geo,DC=net
LDAP filter: (objectClass=*)
on the fly: yes
Connection attribute: sAMAccontName
Name: givenName
Surname: sn
Mail: mail

测试运行良好,但是当我尝试进行身份验证时,我总是得到

密码无效

我使用 Wireshark 跟踪了身份验证阶段,并看到了以下内容:

redmine 主机向 AD 服务器请求以下属性:

  • dn
  • 给定名称
  • sn
  • 邮件

AD 服务器回答“没有这样的对象”并且身份验证停止。我已经从 LDAP 配置窗口中删除了 givenNamesnmail,并且对 DN 的请求仍然存在并导致失败。

我检查了 AD 架构,没有名为“dn”的属性。

知道为什么 Redmine 在身份验证期间要求这样做吗?是否有办法改变这种行为?

下面是 LDAP 查询和 LDAP 响应。 192.168.1.244 是带有 Redmine 的 Centos 服务器,192.168.1.240 是带有 AD 的 MS Server 2012。

No.     Time           Source                Destination           Protocol Length Info

72 28.269126319   192.168.1.244         192.168.1.240         LDAP     237    searchRequest(2) "DC=geo-dc,DC=geo,DC=net" wholeSubtree 

第 72 帧:线路 237 字节(1896 位),接口 0 上捕获的 237 字节(1896 位)

轻量级目录访问协议

LDAPMessage searchRequest(2) "DC=geo-dc,DC=geo,DC=net" wholeSubtree

    messageID: 2

    protocolOp: searchRequest (3)

        searchRequest

            baseObject: DC=geo-dc,DC=geo,DC=net

            scope: wholeSubtree (2)

            derefAliases: neverDerefAliases (0)

            sizeLimit: 0

            timeLimit: 0

            typesOnly: False

            Filter: (&(&(objectClass=*)(objectClass=*))
(sAMAccountName=mlavagna))

                filter: and (0)

                    and: (&(&(objectClass=*)(objectClass=*))
(sAMAccountName=mlavagna))

                        and: 3 items

                            Filter: (objectClass=*)

                                and item: present (7)

                                    present: objectClass

                            Filter: (objectClass=*)

                                and item: present (7)

                                    present: objectClass

                            Filter: (sAMAccountName=mlavagna)

                                and item: equalityMatch (3)

                                    equalityMatch

                                        attributeDesc: sAMAccountName

                                        assertionValue: mlavagna

            attributes: 4 items

                AttributeDescription: dn

                AttributeDescription: givenName

                AttributeDescription: sn

                AttributeDescription: mail

    [Response In: 73]

    controls: 1 item

        Control

            controlType: 1.2.840.113556.1.4.319 (pagedResultsControl)

            criticality: False

            SearchControlValue

                size: 126

                cookie: <MISSING>

没有。时间源目的地协议

74 28.269493413 192.168.1.244 192.168.1.240 TCP

轻量级目录访问协议

LDAPMessage searchResDone(2) noSuchObject (0000208D: NameErr: DSID-03100238, problem 2001 (NO_OBJECT), data 0, best match of:

'DC=geo,DC=net'

) [0 results]

    messageID: 2

    protocolOp: searchResDone (5)

        searchResDone

            resultCode: noSuchObject (32)

            matchedDN: DC=geo,DC=net

            errorMessage: 0000208D: NameErr: DSID-03100238, problem 2001 
(NO_OBJECT), data 0, best match of:\n\t'DC=geo,DC=net'\n

    [Response To: 72]

    [Time: 0.000264030 seconds]

【问题讨论】:

    标签: ldap redmine


    【解决方案1】:

    您在 LDAP 中有一个“ou”(组织单位)吗?例如,如果您的用户属于 ou=People,您的 redmine DN Base 可能如下所示:

    DN Base: ou=People,DC=geo-dc,DC=geo,DC=net
    

    【讨论】:

    • 不,我没有在 LDAP 中定义你。
    猜你喜欢
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2020-04-14
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多