如何通过Tomcat检索其他LDAP数据字段(getRemoteUser只提供名称)

时间:2008-12-11 13:02:27

标签: java ldap tomcat5.5

我已将Tomcat配置为使用LDAP / AD。

如何获取有关登录用户的更多详细信息; userid由request.getRemoteUser()返回,但不是我需要的全名。

如何从AD获得实际的“displayName”(全名)?

我正在使用ldap / activedirectory / tomcat 5.5

2 个答案:

答案 0 :(得分:2)

我认为使用LDAP / AD的tomcat配置是关于登录的(例如Realm)。因此,Natalia是正确的:您必须查询LDAP服务器以获取更多信息。评论字段对于此评论来说太短了,所以我选择了另一个答案,说明相同。

原因是,Realm接口提供了一个Principal,它只包含用户名和查询的可能性,如果当前用户处于给定角色(它甚至不提供所有角色的主体)在...)。这足以使基于URL的访问限制进入web.xml。它并不旨在成为您与用户数据库中存储的所有内容的中心联系点。

如果您不使用user-id但只想用完整的用户名替换它,您可以通过查看tomcat安装,创建一个新的Realm实现并添加一个jar来轻松编写自己的LDAP Realm实现到TOMCAT_HOME / lib(对于Tomcat 6.0)。当然,您需要从TOMCAT_HOME / conf / server.xml而不是标准的tomcat实现中引用此实现。

答案 1 :(得分:0)

您需要直接查询LDAP目录以获取有关用户的更多信息。

豫ICP备18024241号-1