package com.daeucna.board.security.controller; import java.security.Principal; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpSession; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.core.Authentication; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.daeucna.board.security.domain.UserDto; import lombok.extern.slf4j.Slf4j; @Controller @RequestMapping("/") @Slf4j public class LoginController { @GetMapping("/login") public String getLogin(Model model) { log.info("로그인 Page"); return "/page/login/login"; } @GetMapping("/fail") public String procFail(Model model) { log.info("로그인 실패"); return "/page/login/fail"; } @GetMapping("/info") @ResponseBody public String getCurrentUserInfo(HttpSession httpSession) { try { Authentication authentication = (Authentication) httpSession.getAttribute("authentication"); UserDto userDto = (UserDto) authentication.getPrincipal(); log.info("user : " + userDto ); return userDto.getUsername() + "은 로그인중입니다"; } catch (Exception e) { return "먼저 로그인을 하세요"; } } }