我正在做一个项目,需要在JSP中获取用户详细信息。在做了一些研究之后,我知道${pageContext.request.userPrincipal.name}
可以用来获得委托人的名字。但是,如果我需要其他信息,示例ID(通过Google Auth登录时从Google收到)或密码等,该怎么办呢?有一种简单的方法吗?我使用的是Spring Security taglib。
答案 0 :(得分:1)
是的,在使用spring security taglib
时,有一种非常简单的方法可以做到这一点。只需使用身份验证标记:
<sec:authentication property="name" />
使用这种方式将返回Authorization
对象的name属性,通常与主体名称相同。但您可以访问任何其他属性,甚至是嵌套对象中的属性:
<sec:authentication property="authorities" />
将返回Authentication对象的授权权限列表
<sec:authentication property="details.sessionId" />
这是我有时在details
对象的Authentication
字段内的嵌套对象中使用的属性。