用戶註冊成功後,我試圖將用戶重定向到登錄頁面後嘗試獲取活動用戶來自SecurityContextHolder.getContext()。getAuthentication();這是返回null。Spring Security:SecurityContextHolder.getContext()。在用戶註冊用戶並重定向到登錄頁面後,getAuthentication()返回NULL
這裏是我如何設置背景下,當用戶註冊成功
UsernamePasswordAuthenticationToken authenticatedUser = new UsernamePasswordAuthenticationToken(userDetails.getUsername(), userDetails.getPassword(), userDetails.getAuthorities());
authenticatedUser.setDetails(userDetails);
if(authenticatedUser.isAuthenticated()) {
SecurityContextHolder.getContext().setAuthentication(authenticatedUser);
}
然後我使用response.sendRedirect是(URL)重定向用戶到X頁面;
在控制器方法我試圖以當前用戶爲
@RequestMapping("/<pattern>")
public @ResponseBody <method_name>(HttpServletRequest req,HttpServletResponse resp){
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if(auth==null){
System.out.println("this is null");
}
else{
// do something
}
}
我看到在控制檯中的文字爲「這是空」。
如何從SecurityContext()中通過用戶期限保留currentuser/Principal直到用戶註銷。
檢查[this](http://www.mkyong.com/spring-security/get-current-logged-in-username-in-spring-security/)獲取當前記錄器用戶名。獲取所有詳細信息'User user = SecurityContextHolder.getContext()。getAuthentication()。getPrincipal();' – pise
什麼是登錄? – ikumen
@ user2264997這是一個錯字錯誤。我現在編輯它。 – Giridhar