如何使用基于表单的安全性显示登录用户,JSF 2.0应用程序

Tob*_*lin 13 security jaas java-ee jsf-2

我使用自定义Realm在GlassFish 3服务器上的JSF 2.0应用程序中配置了基于表单的登录.获取有关已登录用户的信息的最简单方法是什么,即用户名.

这可能吗?或者当前会话是否与安全角色相关联?如果是这样,是否有一些方法可以在不更改登录配置的情况下实现此目的?

简单地说,我想要的是显示一个简单的消息,如:

以用户名登录

在我的网页上.

Bri*_*hem 21

在JSF 2.0中通过EL(表达式语言)获取登录用户的最简单方法是:

#{request.remoteUser}
Run Code Online (Sandbox Code Playgroud)

Tobbe的答案很适合从支持bean中获取远程用户.


Tob*_*lin 16

简单(可能不是最好的)答案是:

FacesContext.getCurrentInstance().getExternalContext().getRemoteUser()
Run Code Online (Sandbox Code Playgroud)

我很震惊我花了多长时间弄明白这一点.