我已将Tomcat配置为使用LDAP / AD。
如何获取有关登录用户的更多详细信息; userid由request.getRemoteUser()
返回,但不是我需要的全名。
如何从AD获得实际的“displayName
”(全名)?
我正在使用ldap / activedirectory / tomcat 5.5
答案 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目录以获取有关用户的更多信息。