2

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

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

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

我正在使用 ldap/activedirectory/tomcat 5.5

4

2 回答 2

2

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

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

如果您不使用用户 ID,而只是希望将其替换为完整的用户名,则可以通过查看 tomcat 安装、创建新的 Realm 实现并将具有此实现的 jar 添加到 TOMCAT_HOME 来轻松编写自己的 LDAP Realm /lib(用于 Tomcat 6.0)。当然,您需要从您的 TOMCAT_HOME/conf/server.xml 引用此实现,而不是标准的 tomcat 实现。

于 2008-12-14T10:47:43.017 回答
0

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

于 2008-12-12T04:44:02.483 回答