3
在Spring中是否存在「getCurrentUser
」方法來訪問當前是請求的一部分的用戶 - 即使該用戶的名稱沒有作爲Web請求的一部分傳遞?在Spring中,您如何獲取當前用戶的憑據不是當前http請求的一部分?
在Spring中是否存在「getCurrentUser
」方法來訪問當前是請求的一部分的用戶 - 即使該用戶的名稱沒有作爲Web請求的一部分傳遞?在Spring中,您如何獲取當前用戶的憑據不是當前http請求的一部分?
既然你已經用spring-security標記了你的問題,我假設你的問題在同一個上下文中。通過彈簧安全,您可以檢索當前用戶:
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserDetails userDetails = null;
if (principal instanceof UserDetails) {
userDetails = (UserDetails) principal;
}
String userName = userDetails.getUsername();
此外,Spring Security通過'HttpServletRequest.getPrincipal()'公開其身份驗證數據。 – axtavt 2010-08-19 16:21:56
這對我不起作用getAuthentication()返回null,即使用戶已登錄http://stackoverflow.com/q/7811200/106261 – NimChimpsky 2011-10-18 17:58:17