블로그목적
스프링 시큐리티에 대해서 공부및 정리 후 공유한다.
스프링 시큐리티(Spring Security) 란?
스프링 기반의 애플리케이션의 보안(인증과 권한,인가 등)을 담당하는 스프링 하위 프레임워크.
참고페이지
https://spring.io/projects/spring-security
그럼, 스프링 시큐리티에 대해서 알아보기전에 용어 정리를 먼저 해보자.
접근 주체(Principal)
보호된 리소스에 접근하는 대상
인증(Authentication)
보호된 리소스에 접근한 대상에 대해 이 유저가 누구인지, 애플리케이션의 작업을 수행해도 되는 주체인지 확인하는 과정
인가(Authorize)
해당 리소스에 대해 접근 가능한 권한을 가지고 있는지 확인하는 과정
After Authentication, 인증 이후 과정
권한
어떠한 리소스에 대한 접근 제한
즉, 인가과정에서 해당 리소스에 대한 제한된 최소한의 권한을 가졌는지 확인함.
즉, 서비스를 제공받는 소비자는 두 가지 선택을 할 수 있다.
하나, 서비스를 제공받기위해서, 자격 증명을 제공한다.
나의 리소스를 제공할만큼 좋은 서비스일 경우.
둘, 서비스를 제공받지 않는다. 즉 자격 증명을 제공하지 않음.
나의 리소스를 제공할만큼 좋은 서비스가 아니거나, 나의 리소스를 보호해주지 못하는 서비스일 경우.
여기서 깨달아야 할 것은,
하나는, 서비스를 만들 때 최대한 좋은 서비스를 만들어야 한다는 것
다른 하나는, 서비스를 제공할 때, 철저한 보안을 통해서 꼭 사용자의 리소스를 보호해줘야 한다는 것.
그럼, REST 서비스를 인증하는 2가지 방법을 알아보자.
기본인증 (1/2)
OAuth 2.0 인증 (2/2)
위의 2가지 타입의 인증은 스프링 시큐리티를 사용해 구현할 수 있음.
그럼, 본격적으로 스프링 시큐리티에 대해서 알아보자.
아래와 같이 의존성을 pom.xml 에 추가하면 됨.
spring-boot-starter-security 의존성은 아래 3가지 중요한 스프링 시큐리티 의존성을 가져 옴.
spring-security-config
spring-security-core
spring-security-web
위와 같이 의존관계를 추가하면 스프링 부트 어플리케이션에 기본 인증(Basic Authentication)이 적용됨.
그럼, 기본인증에 대해서 알아보자
spring-boot-starter-security 의존성은 기본적으로 모든 서비스에 대한 기본 인증을 자동으로 설정함.
브라우저에서 접근하면 아래와 같이 아이디와 비밀번호를 입력하는 창이 뜸.
그럼 어떻게 로그인 해야할까?
username 의 기본 값
user
password 의 기본 값
보안이 적용된 스프링 부트 어플리케이션의 실행 로그에 아래와 같이 표시됨.
아래와 같이 로그인 해보자.
로그인이 끝나면, 아래와 같이 결과 같이 나옴.
그럼, username/password 를 직접지정하려면?
아래와 같이 application.properties 환경설정 파일에 직접 지정도 가능함.
결론
스프링 시큐리티란, 스프링 기반의 애플리케이션의 보안(인증과 권한,인가 등)을 담당하는 스프링 하위 프레임워크.
REST 서비스를 인증하는 타입은 아래 2가지
위에서 살펴본 기본인증
다른 하나는, 다음 블로그에서 살펴볼 OAuth2.0 인증
오늘도 스프링 시큐리티의 기본인증에 대한 지식(?) 마술 한가지 획득완료! 감사합니다. ^^
오늘의 명언 한마디
인생은 일괄거래다.
다시말해 원하는 것만 주고받을 수 없고 고통이나 슬픔등도 모두 내가 살고 있는 삶에 포함되어 있으며, 내가 이 인생을 사는 한 모두 떠안고 가야 한다는 것이다.
인생의 잔인하고 혹독한 불공정함과 놀라운 공명정대함에 모두 마음을 열때, 우리는 있는 그대로의 삶을 평화롭게 살아갈 수 있다.
캔드럭지음, "인생의 진정한 법칙" 중에서..
오늘의 영어 한마디
How should I handle this situation?
어떻게 / 내가 대처해야 하나 / 이 상황을
설명
"handle" 은 대처하다 다루다라는 의미
"this situation" 은 이 상황이라는 뜻
오늘의 재무제표 공부 한마디
ACRS(Accelerated Cost Recovery System)
가속원가회수법이란?
유형 자산의 감가상각을 계산하기 위한 기법으로 그 자산이 속한 추정 내용연수에 기초하여 상각한다.
미국에서 1981년 경제부흥법안에 의해 도입됨.
목적은?
자산의 경제적 내용연수 초기에 많은 금액을 상각하여 투자초기의 소득 중 많은 부분을 감가상각 시키는 방법으로 투자를 보다 신속하게 회수하는 것.
최초에는 3년, 5년, 10년, 15년의 추정 내용 연수 계충이 있었고 이후에 정부 조세 수입 확대를 목적으로 위의 연수는 보다 길게 조정됨.
위의 분류계층은 매년 잠재적으로 회수하는 원가의 비율을 결정함.
목표
- 나의 강점을 바탕으로 나의 일을 잘해냄으로써 타인과 사회를 아릅답게 만든다.
- 현재 내가 가진 능력으로 누군가에 도움이 될 수 있을까? 에 대해서 항상 생각하기
- 나는 블로그 생태계에서 IT 테크관련 파워블로거및 인플루언서가 반드시 된다!
목표를 이루기 위한 실천방안
- 꾸준한 블로깅/기록법/독서법으로 넘버원이 아닌 온리원이 되보자.
- 천사불여일행(千思不如一行)을 항상생각하며 체화 및 각인시키자.
- "천번 생각하는것보다 한번 행동하는 것이 더 중요하다."
- 기기일약 불능십보(騏驥一躍 不能十步) / 노마십가 공재불사(駑馬十駕 功在不舍)
- 천리마도 한번에 열걸음을 뛸 수 없고, 느리고 둔한말이라도 열흘이면 하룻길을 간다.
- 모든 실수에는 마술이 숨어 있다. 따라서 나는 실수하면 실수할수록, 그런 실수에서 더 많이 배울수록 삶에서 더 많은 마술을 갖는다.
'좋아하는 것_매직IT > 1.spring' 카테고리의 다른 글
33.Spring, 스프링 시큐리티(OAuth2 인증 사용)에 대한 간단한 구현을 직접 해보자. (0) | 2021.02.06 |
---|---|
32.Spring, 스프링 시큐리티(OAuth2 인증[2/2])에 대한 개념에 대해서 간단히 알아보자. (0) | 2021.02.06 |
30.Spring, 서비스의 문서화에 대한 필요성을 알아보고 간단한 샘플프로그램을 만들어 보자. (0) | 2021.02.06 |
29.Spring, 데이터 유효성체크에 대해서 알아보고 간단한 샘플프로그램을 만들어 보자. (0) | 2021.02.06 |
28.Spring, HATEOAS에 대해서 알아보고 간단한 샘플 프로그램을 만들어보자. (0) | 2021.02.06 |