Nim*_*sky 5 java spring spring-mvc spring-security
我已实现UserDetailsService,它返回一个实例MyUser(实现UserDetails)
public MyUser loadUserByUsername(String arg0)
Run Code Online (Sandbox Code Playgroud)
现在我想MyUser在我的JSP页面中访问我的自定义getter/fields ,到目前为止我得到了这个:
${pageContext.request.userPrincipal.name}
Run Code Online (Sandbox Code Playgroud)
但这只允许访问Principal对象.我怎样才能访问MyUser对象?
它在jsp页面中很容易我添加了这个:
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
...
<sec:authentication property="principal.firstname" />
Run Code Online (Sandbox Code Playgroud)
如果principal实际上是MyUser的一个实例,那么"firstname"可以是我的任何自定义getter和setter
小智 6
在分析了HTTPSesson之后,在成功登录后立即发现有一个名为SPRING_SECURITY_CONTEXT的属性.例如,我的自定义UserDetails具有名为user的对象,其具有属性firstName.在JSP中,可以使用以下命令达到此属性的值:
${sessionScope.SPRING_SECURITY_CONTEXT.authentication.principal.user.firstName}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8013 次 |
| 最近记录: |