본문 바로가기

🧑🏻‍💻 Dev/SpringBoot

[Spring] 프로젝트 실행 시 Please Sign in 페이지 해결

최근 스프링 부트 학습을 하는데 맨날 gradle로 빌드를 하다가 최근에 빌드 툴을 maven으로 하고 프로젝트를 생성했다. 초기 프로젝트 세팅은 아래와 같이 진행했다.

 

https://start.spring.io/

 

필요할 거 같은 라이브러리를 모두 추가해줬다. 압축파일을 풀고 인텔리제이에서 간단한 RestController를 하나 작성하고, 프로젝트를 실행시켜봤다. 근데 계속 아래와 같은 로그인하라는 페이지가 랜더링되었다. 난 저런 페이지를 추가한적이 없는데?

 

프로젝트 실행 시 8080 포트 들어가면 제일 먼저 뜨는 화면

 

뭘 로그인하라는거지라는 생각으로 구글링을 해봤고, Spring Security 라이브러리를 의존성 추가해놨기 때문에 뜨는 화면이라고 한다. 근데 지금은 사용하지 않을거 같아서 maven 초기 빌드를 진행하고, Spring Security에 관련된 코드는 모두 주석 처리 해놨다. 근데도 계속 Please Sign in 페이지가 뜬다. 어떻게 해결할 수 있을까

 

 

🔎 (방법 1) 로그에 출력되는 password를 사용해서 로그인

프로젝트를 실행하고 인텔리제이 로그를 확인해보면 password가 하나 만들어지는 것을 확인할 수 있다. Username에 user를 입력하고, Password에 로그에 출력되어있는 비밀번호를 입력해서 로그인하면 해결된다. 

 

근데, 프로젝트를 종료하고 다시 실행하면 계속 같은 화면이 뜬다. 계속 이렇게 로그인하는게 너무 귀찮아서 다른 방법이 있나 하고 계속 찾아봤다. 코드 상에서 Spring Security 기능을 비활성화해두는 코드를 하나 찾았다.

 

 

🔎 (방법 2) Spring Security 기능 비활성화 해두기

// Application.java

@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
public class BlogApplication {
	public static void main(String[] args) {
		SpringApplication.run(BlogApplication.class, args);
	}

}

main 메서드가 존재하는 클래스에 들어가서 @SpringBootApplication에 위와 같이 exclude 값을 넣어주면 된다. Spring Security를 사용하지 않을 때, 비활성화 해둘 수 있는 코드라고 한다.

 

@SpringBootApplication(exclude = SecurityAutoConfiguration.class)

이렇게 설정해주고 다시 프로젝트를 실행시켜보니 이제 Please Sign in 페이지가 안 뜨는 것을 확인할 수 있다. 후 속이 편안해졌다. 계속 로그인하느냐고 힘들었는데...