Spring Security - 프로젝트 생성 및 환경설정
MySQL 사용자 및 DB생성
create user 'qlsdud'@'%' identified by 'qlsdud0604';
GRANT ALL PRIVILEGES ON *.* TO 'qlsdud'@'%';
create database security;
use security;
ㆍ 위에 sql 문을 차례대로 실행해서 사용자 및 DB를 생성한다.
Spring Boot 프로젝트 생성
ㆍ 위 사진과 같은 의존성을 포함한 Spring Boot 프로젝트를 생성한다.
application.yml 설정
server:
port: 8080
servlet:
context-path: /
encoding:
charset: UTF-8
enabled: true
force: true
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/security?serverTimezone=Asia/Seoul
username: qlsdud
password: qlsdud0604
jpa:
hibernate:
ddl-auto: create
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
show-sql: true
ㆍ application.properties 파일을 application.yml 파일로 변경한 후 위 코드를 작성하여 설정을 마무리한다.
Controller 생성
@Controller
public class IndexController {
@GetMapping({"", "/"})
public String index() {
return "index";
}
}
ㆍ controller 패키지를 만들고 IndexController를 생성한 후 위와 같은 코드를 작성한다.
ㆍ 기본적으로 Mustache 의존성이 설정되어있기 때문에 index() 메서드와 매핑된 url로 접속을 했을 때 index.mustach 파일을 리턴하도록 되어있다.
WebMvcConfig 생성
Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
MustacheViewResolver resolver = new MustacheViewResolver();
resolver.setCharset("UTF-8");
resolver.setContentType("text/html;charset=UTF-8");
resolver.setPrefix("classpath:/templates/");
resolver.setSuffix(".html");
registry.viewResolver(resolver);
}
}
ㆍ config 패키지를 만들고 WebMvcConfig 파일을 생성한 후 위와 같은 코드를 작성한다.
ㆍ 위 코드는 .html 파일을 .mustache 파일로 인식이 가능하도록 설정하는 코드이다.
ㆍ 위 코드를 통해 .mustach가 아닌 .html 파일을 사용해서 프로젝트를 수행할 수 있다.
서버 실행
ㆍ 서버를 실행시킨 후 로컬 서버에 접속을 하면 다음과 같은 화면이 출력되는 것을 확인할 수 있다.
ㆍ 스프링 부트가 기본적으로 스프링 시큐리티를 의존성으로 설정하였다면 모든 url이 막히기 때문에 인증이 필요한 페이지가 된다.
GitHub - qlsdud0604/spring-security-basic: 스프링 시큐리티의 기초를 학습하는 공간
스프링 시큐리티의 기초를 학습하는 공간. Contribute to qlsdud0604/spring-security-basic development by creating an account on GitHub.
github.com