在 JSP 中获取用户详细信息?

Posted

技术标签:

【中文标题】在 JSP 中获取用户详细信息?【英文标题】:Get User Details in JSP? 【发布时间】:2014-11-30 04:11:34 【问题描述】:

如何获取并显示得到以下结果in$pageContext.request.userPrincipal的用户的用户名、电子邮件、ip等?

org.springframework.security.authentication.UsernamePasswordAuthenticationToken@e40cde0e:主体:用户 [username=admin, email=olga@vantalii.ru, password=1234, firstName=Olga, lastName=OZCAN, authority=[Role [name= USER_ROLE, 特权=null]], accountNonExpired=true, accountNonLocked=true, credentialsNonExpired=true, enabled=true];凭证:[受保护];已认证:真实;详细信息:org.springframework.security.web.authentication.WebAuthenticationDetails@2cd90:RemoteIpAddress:0:0:0:0:0:0:0:1;会话ID:B91578060B48D46CC606AF8281757727;授予权限:角色 [name=USER_ROLE,privilege=null]

【问题讨论】:

【参考方案1】:

你应该使用 Spring Security JSP 标签。

首先声明正确的taglib:

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>

然后使用以下代码显示当前用户的电子邮件。

<sec:authentication property="principal.email" />

您可以将电子邮件替换为您的主体对象的任何属性(用户名、名字等)。

有关 Spring Security JSP 标签的更多信息可以在文档中找到:

http://docs.spring.io/spring-security/site/docs/3.0.x/reference/taglibs.html

【讨论】:

以上是关于在 JSP 中获取用户详细信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何在spring security java config中通过jsp表单更新用户详细信息

在 angularjs 中的 onInit() 方法中获取用户详细信息后尝试显示用户详细信息时出现错误

通过 Spring Security 和 CAS 登录后,如何在非安全 JSP 页面上显示登录用户详细信息?

JSP中怎样用session保存并验证用户登录信息

在 firebase 中获取个人用户详细信息

获取用户在 EJS 中选择的表详细信息?