[Spring/Swagger] SpringBoot의 Spring Security 환경에서 Swagger 적용시 로그인 화면 임시 해결 방법

2024. 2. 15. 23:11·[ Development ]/[ Back-end ] Spring 기본

( 결론부터 말하자면

로그인 화면의 유저 네임과 패스워드를

모를 때 사용하는 방법 )

1. WebConfig 파일 수정으로 해결할 수 없는 경우와 그 이유

스프링부트에서 Spring Security를 적용한 프로젝트라면

Swagger를 사용할 때 로그인 화면을 만날 가능성이 매우 높다

 

해결 방법을 검색하면

build.gradle 에 springfox 관련 dependency 코드를 추가하고

WebConfig 라는 자바 Config 클래스를 생성하는 코드가 나온다

 

검색했을 때 나오는 대부분의 WebConfig 코드는

WebMvcConfigurer를 상속 받는 클래스인데

WebMvcConfigurer 의 WebMvcConfigurerAdapter 는

spring 5 버전부터 지원되지 않기 때문에

해당 코드들로는 해결할 수 없다

 

spring 5 이상의 버전에서

swagger 3 이상의 버전을 사용하려면

SwaggerConfig 파일과 SecurityConfig 파일의 수정이 필요하고

application.yml 파일에 pathmatch 관련 코드 추가가 필요한데

 

수정해도 ant_path_matcher를 지원하지 않는 버전은

다른 수정이 더 추가적으로 필요하다

2. SecurityConfig를 사용하는 방법을 선택하지 않은 이유

진행 중인 프로젝트가 복잡하지는 않지만

보안 관련 수정을 하지 않는 것이

오히려 프로젝트의 목적에 더 적합하기 때문에

 

굳이 추가적인 수정은 하지 않고

로그인 화면이 뜨는 swagger를

사용할 수 있게끔만 수정했다

 

3. 결론 >> 직접 지정하는 방법 !!

방법은 정말 간단하다

 

스프링 공식 문서에 의하면

The user credentials are the normal Spring Security user details 

(which default in Spring Boot to “user” and a random password).

( https://docs.spring.io/spring-boot/docs/1.3.5.RELEASE/reference/html/boot-features-security.html )

 

사용자 이름는 user로,

패스워드는 랜덤으로

설정되어 있음을 알 수 있다

 

랜덤 값을 알기는 복잡하니

빠르게 로그인하고 싶다면

사용자 이름과 패스워드를 지정하면 된다

 

3-1. application.properties 인 경우

application.properties 파일이라면

spring.security.user.name=root
spring.security.user.password=root

를 추가하면 되고,

 

3-2. application.yml 인 경우

application.yml 파일이라면

spring:
    security:
        user:
            name: root
            password: root

 

을 추가하면 된다

 

끝!

 

728x90

'[ Development ] > [ Back-end ] Spring 기본' 카테고리의 다른 글

[Spring/Swagger] 스프링부트에서 Swagger 사용하기 :: springdoc-openapi-ui 라이브러리  (0) 2024.02.15
[Spring 스프링 기본] 의존관계 자동 주입  (0) 2023.12.26
[Spring 스프링 기본] 컴포넌트 스캔  (1) 2023.12.05
[Spring 스프링 기본] 싱글톤 컨테이너  (2) 2023.11.28
[Spring 스프링 기본] 스프링 컨테이너와 스프링 빈  (1) 2023.11.21
[Spring 스프링 기본] 객체 지향 원리 적용  (1) 2023.11.14
[Spring 스프링 기본] 2. 핵심 원리 이해 1 - 예제 만들기  (0) 2023.11.07
'[ Development ]/[ Back-end ] Spring 기본' 카테고리의 다른 글
  • [Spring/Swagger] 스프링부트에서 Swagger 사용하기 :: springdoc-openapi-ui 라이브러리
  • [Spring 스프링 기본] 의존관계 자동 주입
  • [Spring 스프링 기본] 컴포넌트 스캔
  • [Spring 스프링 기본] 싱글톤 컨테이너
dev charlotte
dev charlotte
주 - 컴퓨터공학 / 복수 - 산업 보안
    250x250
  • dev charlotte
    int main() {
    dev charlotte
  • 전체
    오늘
    어제
    • 분류 전체보기
      • [ Laboratory ]
        • Paper review
        • Advanced Operating System
        • System Software & Storage
        • Lab etc
      • [ Computer Science ]
        • Algorithm_C++
        • Operating System
        • Information Retrieval
        • Database_sql
        • SW Engineering
        • Computer Network
        • JavaScript
        • Python
        • Data Structure
        • CS study
        • Distributed systems
      • [ Computer Security ]
        • Convergence Security
        • Web Security
        • PIMS
        • Network Security
        • Digital Finance
      • [ Artificial Intelligence ]
        • Trend
        • Seminar
      • [ 미래, 같이, LG ]
      • [ Development ]
        • [ Front-end ]
        • [ Back-end ] Spring 기본
        • [ Back-end ] Node.js
      • etc
        • 현대오토에버 스마트 모빌리티 공학 체험 교육
      • It's me
  • 블로그 메뉴

    • 링크

      • GitHub
    • 공지사항

    • 인기 글

    • 태그

      현대오토에버 스마트모빌리티
      hotstorage
      코딩 교육
      프로그래밍 언어론
      ssafy 13기
      프로그래머스 코테
      티스토리챌린지
      대학생 대외활동
      데이터베이스
      오블완
      현대오토에버
      스마트모빌리티공학체험교육
      비전공자 코딩
      프로그래머스 c++
      SSAFY
      백준
      싸피
      소프트웨어 공학
      spdk
      SQL 쿼리
      코드잇
      프로그래머스
      자바스크립트
      공대생 대외활동
      현대오토에버 스마트 모빌리티
      SQL
      MySQL
      프로그래머스 입문
      싸피 13기
      코딩 인강
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.4
    dev charlotte
    [Spring/Swagger] SpringBoot의 Spring Security 환경에서 Swagger 적용시 로그인 화면 임시 해결 방법
    상단으로

    티스토리툴바