작성
·
95
·
수정됨
0
현재 GIT에 올리신 소스를 실행해봤습니다.
그런데 시큐리티 비밀번호가 콘솔창에 뜨지 않습니다.
그리고 application.yml에서 시큐리티 관련 비밀번호 주석을 풀고 실행을 해도, rest api가 인증 없이도 호출되는 것 같습니다.
어떤 부분에서 설정이 빠진 것일까요?
답변 2
0
안녕하세요, 이도원입니다.
Console 화면에 Security password가 표시되는 경우는 spring-security를 pom.xml 추가한 다음에 특별한 설정 없이 기본 값으로 사용했을 때 입니다. 먼저, spring-security가 잘 추가되었는지 확인해 보시기 바랍니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
위와 같이 추가된 것이 확인 되었다면, 추가로 다음 내용도 확인해 보시기 바랍니다.
application.yml 파일에서의 Logger Level
logging.level.org.springframework.boot.autoconfigure.security=INFO
logging.level.org.springframework.security=DEBUG
application 파일에서 사용자 정의 password 설정이 있는지 확인
사용자 정의 SecurityConfiguration 클래스를 선언하지 않았는지 확인 (Git에 올려 진 코드는 최종 버전이기 때문에, SecurityConfiguration 클래스가 선언되어 있습니다. 아래 코드에서 @Configuration 어노테이션 부분만 주석처리 하시고 실행해 보셔도 됩니다)
@Configuration
public class SecurityConfig {
위 내용을 확인 하신 후에 기본 설정으로 출력 시 아래와 같이 출력됩니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
라벤더7님께서 겪고 계신 문제에 대해 몇 가지 점검할 사항을 안내드리겠습니다.
Security Password 출력 문제:
UserDetailsService
는 애플리케이션 시작 시 랜덤한 비밀번호를 콘솔창에 출력합니다. 이 메시지가 WARN
레벨로 출력되므로, 만약 콘솔에 이 메시지가 보이지 않는다면 로그 레벨 설정에서 org.springframework.boot.autoconfigure.security
카테고리가 WARN
이상으로 설정되어 있는지 확인해 보세요.application.yml 설정 확인:
application.yml
에 입력한 보안 설정이 잘못되었을 수 있습니다. spring.security.user.name
과 spring.security.user.password
를 사용하여 기본 사용자 이름과 비밀번호를 설정할 수 있습니다.application.yml
설정이 올바르게 적용되었는지 확인하시기 바랍니다.인증 문제:
@EnableGlobalMethodSecurity
어노테이션을 사용하여 메소드 수준에서 보안 설정을 추가해 보시기 바랍니다.아래 문서를 참조하여 보안 설정을 점검해 보시기 바랍니다:
Sprint Security Reference Guide
문제가 지속된다면, 추가적인 로그나 환경 설정 파일을 함께 확인하는 것도 도움이 될 수 있습니다. 추가로 궁금한 점이 있으면 언제든지 질문해 주세요.