使用Glassfish进行Ldap基本身份验证

时间:2015-01-25 23:05:37

标签: java glassfish ldap

此时,我的Ldap服务器有这个用户:

enter image description here

MyLdap服务器的密码是admin。

我的Glassfish控制台具有以下配置:

enter image description here

我的web.xml是这样的:

<security-constraint>
        <display-name>Private</display-name>
        <web-resource-collection>
            <web-resource-name>secret</web-resource-name>
            <description/>
            <url-pattern>/secured/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
            <http-method>HEAD</http-method>
            <http-method>PUT</http-method>
            <http-method>OPTIONS</http-method>
            <http-method>TRACE</http-method>
            <http-method>DELETE</http-method>
        </web-resource-collection>
        <auth-constraint>
            <description/>
            <role-name>secure</role-name>
        </auth-constraint>
    </security-constraint>

我的sun-web.xml有:

<security-role-mapping>
    <role-name>secure</role-name>
    <group-name>users</group-name>
  </security-role-mapping>

当我要进行身份验证时,我将1作为用户名(uid)和catia(对应于userPassword)引入密码。

我无法登录。我做错了什么?

1 个答案:

答案 0 :(得分:1)

我不熟悉glassfish LDAP配置,但至少,您的Base-DN似乎是错误的:“ou = users,ou = system”将是根据屏幕截图的正确值。< / p>

“search-bind-dn”值似乎也不正确:我认为它应该是您的LDAP管理员用户的DN,例如UID =管理员,OU =系统。

sun-web.xml中使用的安全角色映射也应该在“分配组”字段中定义相应的组(现在它是空的)。