inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Spring Security를 이용한 인증 처리

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

188

라벤더7

작성한 질문수 4

0

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

rest-api spring-boot

답변 2

0

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

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

JPA

0

57

1

jpa dependency를 추가하고 SecurityConfig클래스에서 오류가 납니다.

0

68

1

웹 브라우저 400 bad request

0

70

1

@Size는 되는데 @Past는 안 됩니다.

0

61

1

pdf 자료는 없나요?

0

73

2

locale 정보가 null 이면 무조건 messages_ko.properties이 호출 되는 문제

0

87

2

Swagger 강의, Unable to infer base url 이거 뜨시는 분들 도움되시라고

0

118

1

강의에서나온 화면 피피티

0

158

1

HelloWorldBean 관련 에러

0

182

2

Swagger API 3.x 오류..

0

218

1

java: variable message not initialized in the default constructor 에러는 어찌하면 좋을까요?

1

282

1

고양이 소리가 귀엽네요 !!

0

137

2

git에서 소스받고 실습중인데

0

117

1

post가 안되요

0

102

1

한국어 같은 경우 언어코드인 messages_ko.properties 로 생성하는게 더 좋지 않나요?

0

167

2

리턴타입으로서 EntityModel<User> 와 ResponseEntity질문

0

103

1

예외처리쪽 관련 질문있습니다.

0

159

2

엔티티가 바로 응답으로 나가도 되나요??

0

220

2

안녕하세여 Cannot invoke "co.kr.joneconsulting.resfulservice.repository.PostRepository.save(Object)" because "this.postRepository" is null

0

134

2

사용자 등록하고 나서 H2 에서 보면 신규 사용자의 password, ssn 이 null 로 되어 있습니다.

0

138

2

ApplictionContext 질문

0

189

2

롬북이 안먹히는것같아요

0

154

1

인텔리제이에서스프링부트 파일 실행하면

0

236

1

맞는 의존성 주입

1

178

1