LoginController.java 1.57 KB
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 "먼저 로그인을 하세요";
	  }
  }
  
}