ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Security - 프로젝트 생성 및 환경설정
    Framework & Library/Spring Security 2021. 9. 30. 14:21

    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

     

    728x90

    댓글

Designed by Tistory.