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


问题内容

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

org.springframework.security.authentication.UsernamePasswordAuthenticationToken@e40cde0e:委托人:用户[username
= admin,email = olga @ vantalii.ru,password = 1234,firstName = Olga,lastName
= OZCAN,authorities = [角色[name = USER_ROLE,特权= null]],accountNonExpired =
true,accountNonLocked = true,creditNonExpired = true,enabled =
true];凭证:[受保护];已验证:true;详细信息:org.springframework.security.web.authentication.WebAuthenticationDetails@2cd90:RemoteIpAddress:0:0:0:0:0:0:0:1;
会话编号:B91578060B48D46CC606AF8281757727;授予的权限:角色[名称= USER_ROLE,权限=空]


问题答案:

您应该使用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