java – 如何使用JDBCRealm获取登录用户的用户名?
发布时间:2020-12-15 04:55:10 所属栏目:Java 来源:网络整理
导读:我正在运行Glassfish 3.0,我正在实现JDBCRealm用于登录身份验证.用户名和角色保存在名为usertable的表中.身份验证按预期工作. 但问题是,当用户登录时,如何在应用程序中检索登录用户的用户名? PS:我正在实现JSF页面和Managed Bean 解决方法 在JSF中,您可以
我正在运行Glassfish 3.0,我正在实现JDBCRealm用于登录身份验证.用户名和角色保存在名为usertable的表中.身份验证按预期工作.
但问题是,当用户登录时,如何在应用程序中检索登录用户的用户名? PS:我正在实现JSF页面和Managed Bean 解决方法
在JSF中,您可以使用
ExternalContext 对象检索与请求关联的当前Principal,从而检索当前会话,该对象可以从
FacesContext 中检索.与请求关联的Principal可以使用
getUserPrincipal() 方法从ExternalContext访问:
FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal(); 上面的调用可以在JSF托管bean中完成.您可以在Principal对象上调用getName()方法,以将用户的名称检索为String. 请注意,如果在身份验证之前检索Principal,或者身份验证方案不保护整个站点,则可以获取引用匿名用户的Principal实例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |