在Spring中,可以通過使用Authentication
對象來獲取當前登錄的用戶信息。可以使用SecurityContextHolder.getContext().getAuthentication()
方法來獲取Authentication
對象,然后通過getPrincipal()
方法來獲取用戶信息。
以下是一個示例代碼:
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
public class UserController {
public User getCurrentUser() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication != null && authentication.getPrincipal() instanceof User) {
return (User) authentication.getPrincipal();
} else {
// 用戶未登錄
return null;
}
}
}
在上面的示例中,getCurrentUser()
方法返回當前登錄的用戶對象,如果用戶未登錄,則返回null
。
需要注意的是,上述代碼假設用戶信息在Principal
對象中,如果用戶信息存儲在其他地方,可以相應地進行調整。