Spring Boot Security 기본설정

Spring에서 로그인에 대한 권한 부여 설정이 어떻게 되는가 궁금하여 인프런 강의를 통해 공부를 시작했다. 

필요한 분들은 아래 링크를 통해 공부를 해보시길 추천합니다. 

 

[무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의

스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런...

www.inflearn.com


기본 설정 

  • JDK와 Java를 11버젼으로 잡아줍니다. 

 

  • dependecy는 아래 사진과 같이 추가 해주면 됩니다.


버젼 설정 및 수정 사항 

  • 안타깝게도 버젼을 잡고 몇 개 추가만 한다고 바로 실행을 할 수 없다. 
  • 그렇기에 추가적인 변경이 필요함.
  • pom.xml에 들어갑니다.

 

  • Boot의 버젼을 2.5.7 로 잡아줍니다. 

 

  • 아마도 mysql connector가 에러가 뜬 것을 볼 수 있음. 

 

  • 해당 부분만 아래와 같이 변경해주면 됩니다. 


데이터 베이스 기본 설정

  • 기존에 존재하던 application 파일을 삭제
  • application.yml 이름으로 파일 생성

 

  • 해당 파일 안에 아래 코드들을 추가

server:
  port: 8900
  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

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

 

  • Mysql work bench에서 sql 문에 아래 질의문들을 붙여 넣기 후 실행하면 원하는 스키마가 자동으로 생성이 될 것이다. 
create user 'cos'@'%' identified by 'cos1234';
GRANT ALL PRIVILEGES ON *.* TO 'cos'@'%';
create database security;
use security;

Mustache 주소를 HTML로 받도록 설정

  • WebMvcConfig 클래스를 생성하여 view Resolver를 설정하여야함.
  • 파일의 경로인 prefix와 파일의 유형인 suffix를 설정해줌.
@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);
    }
}

설정끝!

'Backend > Security' 카테고리의 다른 글

CIA, RSA, RFC  (1) 2022.12.29
OSI 7계층과 TCP(전송 제어 프로토콜)  (0) 2022.12.29
Session(세션)과 Cookie(쿠키)  (0) 2022.12.29
Spring Security (2)  (0) 2022.12.29
Spring Security (1)  (0) 2022.12.29