我已经开始了一个新线程,因为旧线程偏离了原来的问题,
我有一个登录页面,针对我们的 LDAP 服务器进行验证,并且和以前一样,我会让用户输入用户名以确定代码存储数据的位置:
@Override
public String getName() {
return getId();
}
但我想用用户已经从登录页面输入的用户名替换 getName() 位,到目前为止我对这些选项感到困惑,有没有一种简单的方法可以实现这一点?
我已经开始了一个新线程,因为旧线程偏离了原来的问题,
我有一个登录页面,针对我们的 LDAP 服务器进行验证,并且和以前一样,我会让用户输入用户名以确定代码存储数据的位置:
@Override
public String getName() {
return getId();
}
但我想用用户已经从登录页面输入的用户名替换 getName() 位,到目前为止我对这些选项感到困惑,有没有一种简单的方法可以实现这一点?
无论如何,对我来说,这些答案似乎很清楚。有两个主要选项可以检索经过身份验证的用户名(用户必须先前已由您的应用服务器针对某些数据库或 LDAP 进行身份验证,或者这些方法返回 null)
getRemoteUser()
getUserPrincipal()
默认情况下,这两种方法在HttpServletRequest
与您的上下文关联的对象上都可用。你想如何获得对象现在是另一回事了。
在 JSF Web 应用程序中
2.您上一个问题的答案提供了#{request.userName}
EL 直接从 HttpServletRequest 检索用户名到您的 JSF 视图中。