获取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