1、如何获得登录的用户信息
因为Spring Security包办了一切,想拿已登录的用户信息还不容易。
a、用Spring security tag:
<sec:authentication property="principal.username" />
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/taglibs.html
And you can check if logged :
<sec:authorize access="isAuthenticated()">
instead of c:if
http://stackoverflow.com/questions/9048995/get-spring-security-principal-in-jsp-el-expressionhttp://static.springsource.org/spring-security/site/docs/3.0.x/reference/taglibs.html
b、登录后,该用户的信息被存入了SecurityContext中,可以用以下的代码获得详细的信息。
Object principal = org.springframework.security.core.context.SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if (principal instanceof com.mycompany.model.User) {
com.mycoompany.model.User user = (com.dotalink.model.User)principal;
}