( 결론부터 말하자면
로그인 화면의 유저 네임과 패스워드를
모를 때 사용하는 방법 )
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
을 추가하면 된다
끝!
'[ 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 스프링 기본] 싱글톤 컨테이너 (1) | 2023.11.28 |
[Spring 스프링 기본] 스프링 컨테이너와 스프링 빈 (0) | 2023.11.21 |
[Spring 스프링 기본] 객체 지향 원리 적용 (0) | 2023.11.14 |
[Spring 스프링 기본] 2. 핵심 원리 이해 1 - 예제 만들기 (0) | 2023.11.07 |