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