2010-08-19 50 views

回答

9

既然你已經用spring-security標記了你的問題,我假設你的問題在同一個上下文中。通過彈簧安全,您可以檢索當前用戶:

Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
UserDetails userDetails = null; 
if (principal instanceof UserDetails) { 
    userDetails = (UserDetails) principal; 
} 
String userName = userDetails.getUsername(); 
+0

此外,Spring Security通過'HttpServletRequest.getPrincipal()'公開其身份驗證數據。 – axtavt 2010-08-19 16:21:56

+1

這對我不起作用getAuthentication()返回null,即使用戶已登錄http://stackoverflow.com/q/7811200/106261 – NimChimpsky 2011-10-18 17:58:17