본문 바로가기

프로그래밍/Spring Boot

Spring Boot_Security 프로젝트 생성 및 Git 설정

Security 

: Security는 Spring 기반의 애플리케이션 보안 (인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다.

인증과 권한에 대한 부분을 Filter 흐름에 따라 처리하고 있다. 

 

인증(Authentication)과 인가(Authorization)

  • 인증 (Authentication) : 해당 사용자가 본인이 맞는지를 확인하는 절차
  • 인가 (Authorization) : 인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차

 

JPA 및 Security 모듈 추가하여 프로젝트 생성하기 

https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper/10.1.8

Spring boot 2.7.11 버전을 쓰고 있음 → Java Version 11 로 프로젝트 생성
Spring Boot DevTools, Lombok, MySQL Driver, Spring Security, Spring Web, Spring Data JPA, Validation
쿼리스트링에서 2.7.11을 2.7.10으로 바꾸기

 

의존성 추가하기

tomcat embeded → Gradle(Short)

spring security taglibs → Gradle(Short)

dependencies {
	// 의존성 추가 설정 start
	implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
	implementation 'javax.servlet:jstl'
	implementation 'org.springframework.security:spring-security-taglibs:5.6.2'
	// https://mvnrepository.com/artifact/org.springframework.security/spring-security-taglibs	 
	
	// 의존성 추가 설정 end 
	// implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	//runtimeOnly 'com.mysql:mysql-connector-j'
	implementation 'org.springframework.boot:spring-boot-starter-security'
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation 'org.springframework.security:spring-security-test'
}

 

localhost:8080으로 요청할 시 /login으로 redirect 한다.