채널톡 아이콘

인프런 커뮤니티 질문&답변

라벤더7님의 프로필 이미지

작성한 질문수 3

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

Spring Security를 이용한 인증 처리

현재 GIT에 올리신 소스를 실행해봤습니다.

작성

·

95

·

수정됨

0

현재 GIT에 올리신 소스를 실행해봤습니다.
그런데 시큐리티 비밀번호가 콘솔창에 뜨지 않습니다.
그리고 application.yml에서 시큐리티 관련 비밀번호 주석을 풀고 실행을 해도, rest api가 인증 없이도 호출되는 것 같습니다.
어떤 부분에서 설정이 빠진 것일까요?

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

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 {

 

위 내용을 확인 하신 후에 기본 설정으로 출력 시 아래와 같이 출력됩니다.

스크린샷 2025-01-22 오전 9.55.04.png.webp

 

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.
라벤더7님께서 겪고 계신 문제에 대해 몇 가지 점검할 사항을 안내드리겠습니다.

  1. Security Password 출력 문제:

    • Spring Boot에서 기본 제공하는 UserDetailsService는 애플리케이션 시작 시 랜덤한 비밀번호를 콘솔창에 출력합니다. 이 메시지가 WARN 레벨로 출력되므로, 만약 콘솔에 이 메시지가 보이지 않는다면 로그 레벨 설정에서 org.springframework.boot.autoconfigure.security 카테고리가 WARN 이상으로 설정되어 있는지 확인해 보세요.
  2. application.yml 설정 확인:

    • application.yml에 입력한 보안 설정이 잘못되었을 수 있습니다. spring.security.user.namespring.security.user.password를 사용하여 기본 사용자 이름과 비밀번호를 설정할 수 있습니다.
    • application.yml 설정이 올바르게 적용되었는지 확인하시기 바랍니다.
  3. 인증 문제:

    • 만약 REST API가 인증 없이 호출되는 경우, Spring Security가 제대로 설정되지 않았을 수 있습니다. @EnableGlobalMethodSecurity 어노테이션을 사용하여 메소드 수준에서 보안 설정을 추가해 보시기 바랍니다.
    • 클래스 경로에 Spring Security가 제대로 포함되어 있는지 확인하고, 보안 설정이 정적으로 캐시되어 있지는 않았는지도 점검해 보세요.

아래 문서를 참조하여 보안 설정을 점검해 보시기 바랍니다:
Sprint Security Reference Guide

문제가 지속된다면, 추가적인 로그나 환경 설정 파일을 함께 확인하는 것도 도움이 될 수 있습니다. 추가로 궁금한 점이 있으면 언제든지 질문해 주세요.