如何在JSP中获取主体信息?

时间:2017-10-18 09:14:05

标签: spring jsp spring-security taglib

我正在做一个项目,需要在JSP中获取用户详细信息。在做了一些研究之后,我知道${pageContext.request.userPrincipal.name}可以用来获得委托人的名字。但是,如果我需要其他信息,示例ID(通过Google Auth登录时从Google收到)或密码等,该怎么办呢?有一种简单的方法吗?我使用的是Spring Security taglib。

1 个答案:

答案 0 :(得分:1)

是的,在使用spring security taglib时,有一种非常简单的方法可以做到这一点。只需使用身份验证标记:

<sec:authentication property="name" />

使用这种方式将返回Authorization对象的name属性,通常与主体名称相同。但您可以访问任何其他属性,甚至是嵌套对象中的属性:

<sec:authentication property="authorities" />将返回Authentication对象的授权权限列表

<sec:authentication property="details.sessionId" />这是我有时在details对象的Authentication字段内的嵌套对象中使用的属性。