方式1:在后台通過session獲取:
```
public String showUsername(HttpServletRequest request){
//通過SecurityContextHolder獲得當前線程上綁定的SecurityContext對象
SecurityContext context = SecurityContextHolder.getContext();
//也可以通過session獲得SecurityContext對象
SecurityContext context_session = (SecurityContext)
request.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
//證明線程綁定的SecurityContext與session域中存儲的SecurityContext是同一個
System.out.println(context==context_session);2、獲得用戶名方式二:
在頁面中通過el表達式從session域中獲得
3、獲得用戶名方式三:
在頁面中通過SpringSecurity的標簽直接獲得
4、在header.jsp中顯示用戶名
//獲得Authentication認證對象
Authentication authentication = context_session.getAuthentication();
//獲得User對象
User user = (User) authentication.getPrincipal();
//獲得用戶名
return user.getUsername();
}
方式2:在前端通過el表達式獲取:
```
${sessionScope.SPRING_SECURITY_CONTEXT.authentication.principal.username}
方式3:在前端通過使用security標簽直接獲取:
```
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="security"%>
<security:authentication property="principal.username"/>