使用ldap进行Shibboleth身份验证失败

时间:2016-06-10 07:41:13

标签: ldap saml shibboleth federation

我是第一次尝试安装Shibboleth Idp(2.4.2)。我正在使用LDAP身份验证。 我成功配置了Tomcat7,Shibboleth Idp,Apache和ldap。但是当我尝试验证用户时, 我收到以下错误:

登录失败。仔细检查您的用户名和密码。

我确认我的用户名和密码是正确的。

以下是slapd syslogs:

Jun 10 12:55:03 shib-VirtualBox slapd[6499]: conn=1008 fd=13 ACCEPT from IP=10.0.0.100:49434 (IP=0.0.0.0:389)
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 op=0 BIND dn="cn=admin,dc=mysys242,dc=subdomain,dc=idp" method=128
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 op=0 BIND dn="cn=admin,dc=mysys242,dc=subdomain,dc=idp" mech=SIMPLE ssf=0
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 op=0 RESULT tag=97 err=0 text=
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 op=1 SRCH base="dc=mysys242,dc=subdomain,dc=idp" scope=2 deref=3 filter="(uid=admin)"
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 op=1 SRCH attr=1.1
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 op=1 SEARCH RESULT tag=101 err=0 nentries=0 text=
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 op=2 UNBIND
Jun 10 12:55:04 shib-VirtualBox slapd[6499]: conn=1008 fd=13 closed

以下是我在login.conf文件中配置的方式:

ShibUserPassAuth {
  edu.vt.middleware.ldap.jaas.LdapLoginModule required
  ldapUrl="ldap://mysys242.subdomain.idp:389"
  baseDn="dc=mysys242,dc=subdomain,dc=idp"
  bindDn="cn=admin,dc=mysys242,dc=subdomain,dc=idp"
  bindCredential="mypassword"
  ssl="false"
  subtreeSearch="true"
  userFilter="uid={0}";
};


Here follows how I configured in attribute-resolver.xml
 <resolver:DataConnector xsi:type="dc:LDAPDirectory"
                          xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                          id="myLDAP"
                          ldapURL="ldap://mysys242.subdomain.idp:389"
                          baseDN="dc=mysys242,dc=subdomain,dc=idp"
                          principal="cn=admin,dc=mysys242,dc=subdomain,dc=idp"
                          principalCredential="welcome"
                          lowercaseAttributeNames="true">
    <dc:FilterTemplate>
      <![CDATA[
        (uid=$requestContext.principalName)
      ]]>
    </dc:FilterTemplate>
  </resolver:DataConnector>

我将非常感谢任何回应或指示。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题:

6月10日12:55:04 shib-VirtualBox slapd [6499]:conn = 1008 op = 1 SRCH base =“ dc = mysys242,dc = subdomain,dc = idp” scope = 2 deref = 3 filter =“( uid = admin)“
6月10日12:55:04 shib-VirtualBox slapd [6499]:conn = 1008 op = 1 SRCH attr = 1.1
6月10日12:55:04 shib-VirtualBox slapd [6499]:conn = 1008 op = 1 SEARCH RESULT标签= 101 err = 0 nentries = 0 text =
6月10日12:55:04 shib-VirtualBox slapd [6499]:conn = 1008 op = 2 UNBIND

是否必须在attribute-resolver.xml中添加“ ReturnAttributes”

<resolver:DataConnector xsi:type="dc:LDAPDirectory"
                      xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                      id="myLDAP"
                      ldapURL="ldap://mysys242.subdomain.idp:389"
                      baseDN="dc=mysys242,dc=subdomain,dc=idp"
                      principal="cn=admin,dc=mysys242,dc=subdomain,dc=idp"
                      principalCredential="welcome"
                      lowercaseAttributeNames="true">
  <dc:FilterTemplate>
    <![CDATA[
      (uid=$requestContext.principalName)
    ]]>
  <dc:ReturnAttributes>mail givenName sn uid</dc:ReturnAttributes>
</resolver:DataConnector>

答案 1 :(得分:0)

检查&#34; admin&#34;从ldap(通过ldap浏览器)输入的uid值设置为&#34; admin&#34; (UID =管理员) (要么) 更改userFilter =&#34; cn = {0}&#34;在login.config中,重启并尝试。