전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

Springboot/블로그만들기

[Springboot] 블로그 만들기 (21)_스프링 시큐리티(2)_의존성 주입

2023. 11. 28. 16:29

pom.xml

의존성 주입

<!-- 시큐리티 태그 라이브러리 -->
<dependency>
  <groupId>org.springframework.security</groupId>
  <artifactId>spring-security-taglibs</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

UserApiController.java

전통적인 방식의 로그인 메서드를 주석처리한다.

/*
// 전통적인 방식의 로그인 방법
@PostMapping("/api/user/login")
public ResponseDto<Integer> login(@RequestBody User user, HttpSession session) {
    System.out.println("UserApiController : login 호출됨");
    User principal = userService.로그인(user); // principal (접근주체)
    System.out.println(principal);
    if(principal != null) {
        session.setAttribute("principal", principal);
    }
    return new ResponseDto<Integer>(HttpStatus.OK.value(), 1); 
}
*/

header.jsp

태그 라이브러리 추가

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>

<sec:authorize access="isAuthenticated()">
	<sec:authentication property="principal" var="principal"/>
</sec:authorize>
<!-- JSTL 태그 라이브러리 -->
<c:choose> 
    <c:when test="${ empty principal }"> <!-- 로그인이 안돼있을때 -->

isAuthenticated() : 인증여부 확인

principal : 로그인 정보 가져오기


테스트

http://localhost:8001/ 를 요청했는데 자동으로 http://localhost:8001/login으로 url이 넘어간다

--> springSecurity 를 사용하게되면 이 프로젝트의 모든 접근이 막히게 된다.

 

아이디 비밀번호를 입력해야 접근 가능하다.

아이디는 user 

비밀번호는 sts 콘솔창에서 확인할 수 있다.

 

로그인 해보자

 

로그아웃을 하는 방법은 http://localhost:8001/logout 로 url 요청하면 된다.


이러한 로그인, 로그아웃 페이지는 SpringSecurity가 기본적으로 제공하는 페이지다.

다음글에서는 이 페이지를 내가 만든 페이지로 커스터마이징 해보자.

 


참고 유튜브 (메타코딩님 강의)

https://youtu.be/zi1l3lYJRL4?si=fK2qlkU52DKKDiAc

참고 문서

https://www.tutorialspoint.com/spring_security/spring_security_with_taglib.htm

    'Springboot/블로그만들기' 카테고리의 다른 글
    • [Springboot] 블로그 만들기 (23)_스프링 시큐리티(4)_비밀번호 해쉬, 회원가입
    • [Springboot] 블로그 만들기 (22)_스프링 시큐리티(3)_커스터마이징
    • [Springboot] 블로그 만들기 (20)_스프링 시큐리티(1)_요청주소 변경
    • [Springboot] 블로그 만들기 (19)_로그인(전통적인 방식)
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바