SpringbootSecurity

SpringBootSecurity/프로젝트 생성 및 mustache템플릿엔진 환경 설정

25G 2021. 8. 24. 12:18

먼저 시큐리티 공부를 위한 프로젝트를 생성해야 하니 다음과 같이 db를 만들어 준다.

프로젝트 기본 의존성설정은 위와 같이 해준다.

그다음 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: cos
    password: cos1234
    
  mvc:
    view:
      prefix: /templates/
      suffix: .mustache

  jpa:
    hibernate:
      ddl-auto: update #create update none
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    show-sql: true

저는 mariadb를 사용했기때문에 db 커넥션은 아래와 같이 했다

 

spring:
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://localhost:3306/security?serverTimezone=Asia/Seoul
    username: cos
    password: cos1234

 

탬플릿엔진을 mustach를 사용했다. 기본적으로 Spring에서 권장하는 템플릿 엔진이다.

다른 템플릿엔진과 마찬가지로 html안에 자바 코드를 넣는데 mustach만에 문법만 조금 알면 사용할 수 있다고 한다.

위와 같이 설정을 해주면 되긴 하지만

애초에 프로젝트를 생성할 때 의존성을 mustache를 사용하겠다고 등록해 놨기 때문에 자동으로 설정되니 안 적어도 되는 부분이다.

 

항상 처음 프로젝트를 만들면 본 작업이 아닌 테스트부터 다 해보고 시작할 것!.

그리고 확장자가 html인 것을 알 수 있는데 만들 때 확장자를 mustache로 잡게 되면 까다롭다.

그래서 설정을 좀 만져줘야 한다.

이렇게 설정해주면  기본적인 인코딩 타입과 컨텐트 타입을 명시해주고

classpath는 프로젝트라고 생각하면 된다.

suffix를. html로 설정해주면. html을 보면 mustache로 인식을 하게 된다. 그리고 마지막으로 registry에 등록을 해주면 된다.

 

이제 index파일을 열어보자

컨트롤러를 호출하게 되면 html 파일이 호출되는 것이 아닌 아래와 같은 화면이 나온다

왜냐하면

기본적으로 Spring boot에 의존성을 security로 설정하게 되면 모든 주소가 막혀서 최초에는 id는 user에 콘솔 창에 있는 password를 복사해서 입력해줘야 한다.

참고로 logout은 localhost:8080/logout 로 주소를 때려주면 자동으로 로그아웃된다

그렇게 해서 들어가게 되면 위 index파일이 나오게 된다.

이렇게 하면 탬플릿 엔진 mustache설정이 끝났다. 

 

https://github.com/fj2008/SpringbootSecurity

 

GitHub - fj2008/SpringbootSecurity

Contribute to fj2008/SpringbootSecurity development by creating an account on GitHub.

github.com

해당프로젝트 깃주소입니다