지금까지 우리는
Spring Boot 웹 애플리케이션을 빌드했고
그 안에 서비스가 있고
그것을 Spring Security 프레임워크으로 보호하고 있습니다
여기서 볼 수 있듯이
서버를 재시작할 때마다
비밀번호는 생성되며
동일한 것이 출력되고 있습니다
이것은 아무나 사용할 수 있는 편리한 접근 방식이 아닙니다
따라서 이번 강의에서 우리가 할 수 있는 것은
우리의 웹 애플리케이션에서
고유의 유저이름과 비밀번호를 설정하여
여태까지 빌드한 REST 서비스에도
사용할 수 있게 하는 것입니다
이러한 Spring Security의 기본 동작을 변경하려면
application.properties에
들어가야 합니다
모든 Spring Boot 웹 애플리케이션은
리소스 폴더 내에 application.properties를 가지고 있습니다
지금은 보다시피 빈 파일입니다
따라서 우리는 여기에 유저이름과 비밀번호를 언급해야 합니다
하지만 정의해야하는
속성 이름을 모릅니다
application.properties 내에 줘야하는
속성 이름이
명확하지 않을 때는
항상 application.properties와 관련있는
Spring Boot 공식 문서로 이동할 수 있습니다
보다시피
이것은 여러 카테코리별로
Spring Boot이 지원하는
속성들을 찾을 수 있는
공식 웹 페이지입니다
몇 가지 핵심 속성이 있고
매우 유사하게 Spring Data 속성
웹 속성, 템플릿 속성, 서버 속성이 있습니다
하지만 우리는 보안 속성에 관심이 더 많기에
보안 속성을 선택하겠습니다
여기 Spring Boot이 지원하는
속성들이 있습니다
내려가다 보면 유저 이름과 비밀번호를 정의할 때
사용할 수 있는 특정 속성들이 있습니다
여기서 볼 수 있듯이 유저 이름 다음에
기본값으로 'user'가 언급되어 있습니다
우리는 이러한 동작을 덮어쓰고 싶습니다
또한 비밀번호를 언급하기 위해서도 이 속성을 사용할 수 있습니다
또한 매우 비슷하게 spring.security.user.roles 속성을 사용하여
역할을 지정할 수 있습니다
하지만 지금까지로는 역할
권한 그리고 Spring Security를 활용한
역할 기반 엑세스에 대해서 다루지 않았습니다
따라서 지금은 단순히
이 두 속성을 설정하여
웹 애플리케이션에 접근해 볼 수 있습니다
이 value들을 복사하겠습니다
이 모든 URL은 Spring Security 강좌에서 다루어질
공식적인 GitHub 리포지터리 웹페이지에 올려두어
여러분들이 본 Spring Security 강좌에서 다루어질
중요한 링크들은
GitHub 리포지터리에서 참고할 수 있도록 하겠습니다
자 이제 이 두 속성 value를 가지고
application.properties 로 돌아와
이 두 속성을 언급할 것입니다
정크 데이터를 삭제해보겠습니다
다시 볼 수 있듯이 이 첫 번째 속성에서
유저이름을 언급할 수 있습니다
제가 언급하고 싶은 유저이름은 eazybytes이며
두 번째 속성에서 비밀번호를 언급할 수 있습니다
제가 언급하고 싶은 비밀번호는 12345입니다
다시 한 번 말씀드리지만
운영 환경에서 권장하는 접근 방식은 절대 아닙니다
따라서 이것은 Spring Security 내에서
우리가 취하는 초기 단계입니다
이 기본 동작들 모든 기본 설정을
공유하여
언제든 내부 애플리케이션이나
비생산 애플리케이션 또는 몇 가지 POC 애플리케이션을 개발할 때
항상 사용하시길 바랍니다
여러분이 심각한 생산 애플리케이션을
빌드하지 않을 때
이 간단한 설정을 사용하여
여러분들의 삶을 편리하게 만들길 바랍니다
비생산 애플리케이션이나
내부 애플리케이션을 위해서는
매번 코딩을 할 필요가 전혀 없습니다
따라서 본 강좌에서 저는 Spring Security와
관련된 모든 가능성에 대해서 다룰 것입니다
지금은
application.properties 내부에서 정해진
유저 이름과 비밀번호를 설정하는 법에 대해서 다루고 있습니다
하지만 앞으로의 강의에서는
더 고급 접근 방식에 대해서 배우게 될 것입니다
따라서 지금은 그러한 세부사항은 말씀드리지 않겠습니다
변경을 진행하면서
제 Spring Boot DevTools가 자동으로
감지할 것으로 예상됩니다
이제 제 REST 서비스에 접근해보겠습니다
같은 작업을 위해 새 익명창을 열어보겠습니다
제가 접속하고 싶은 URL은 localhost:8080/welcome 입니다
유저 이름과 비밀번호를 요구하고 있습니다
유저 이름인 eazybytes와
비밀번호인 12345를 입력해보겠습니다
sign in을 누르면
성공적으로 REST 서비스에 제가 application.properties에
설정한 고유의 자격증명 정보로
접속할 수 있는 것을 확인할 수 있습니다
이것으로 우리의 웹 애플리케이션을 한 단계 더 향상 시켰습니다
더 이상 랜덤으로 생성된
비밀번호에 의존을 하지 않아도 되며
서버를 재시작할 때마다
비밀번호를 찾을 필요가 없습니다
이것이 명확해졌길 바랍니다
Spring Security관련 더 많은 기능들이 여러분을 기다리고 있습니다
계속 들어주시기 바랍니다 감사합니다 수고하셨습니다