분류 전체보기(367)
-
ch11 Implement authorization at the method level
이 장에서 다룰 내용은 다음과 같습니다.스프링 애플리케이션에서의 메소드 보안Authorities, roles 및 permissions 에 기반한 메소드 사전 승인 Authorities, roles 및 permissions 에 기반한 메소드 사후 승인 지금까지 우리는 인증을 구성하는 다양한 방법에 대해 논의했습니다. 우리는 2장에서 가장 간단한 접근 방식인 HTTP Basic 인증으로 시작했고, 그 다음 6장에서 Form 로그인을 설정하는 방법을 보여주었습니다. 하지만 권한 부여 측면에서는 엔드포인트 레벨에서의 구성만 논의했습니다. 만약 여러분의 앱이 웹 애플리케이션이 아니라면, 스프링 시큐리티를 인증과 권한 부여에도 사용할 수 없을까요? 스프링 시큐리티는 앱이 HTTP 엔드포인트를 통해 사용되지 않는 시..
2024.03.03 -
ch10 Configuring Cross-Origin Resource Sharing(CORS)
이 장에서는 다음을 다룹니다.교차 출처(Cross-Origin) 리소스 공유(CORS)란 무엇인가 교차 출처 리소스 공유 구성 적용하기 이 장에서는 교차 출처 리소스 공유(CORS)에 대해 논의하고 Spring Security와 함께 적용하는 방법을 다룹니다. 먼저, CORS란 무엇이며 왜 중요한가요? CORS가 필요한 이유는 웹 애플리케이션에서 비롯되었습니다. 기본적으로, 브라우저는 사이트가 로드된 도메인 이외의 어떤 도메인에 대한 요청도 허용하지 않습니다. 예를 들어, example.com에서 사이트에 접근할 경우, 브라우저는 사이트가 api.example.com에 요청을 하는 것을 허용하지 않습니다. 그림 10.1은 이 개념을 보여줍니다.웹 개발을 하다 보면 다른 출처(origin)의 리소스를 사용..
2024.03.03 -
ch09 Configuring Cross-Site Request Forgery(CSRF) protection
이 장에서 다룰 내용:CSRF 공격 이해하기사이트 간 요청 위조 보호 구현하기CSRF 보호 커스터마이징Spring Security 아키텍처에서 필터 체인과 그 목적에 대해 배웠습니다. 5장에서 여러 예제를 통해 필터 체인을 커스터마이징하는 방법을 작업했습니다. 하지만 Spring Security는 필터 체인에 자체 필터도 추가합니다. 이 장에서는 CSRF(사이트 간 요청 위조) 보호를 구성하는 필터에 대해 논의할 것입니다. 이러한 필터를 커스텀마이징하여 시나리오에 완벽하게 맞추는 방법을 배울 것입니다. 지금까지의 대부분의 예제에서 HTTP GET만 구현했고, HTTP POST를 구성해야 할 때는 CSRF 보호를 비활성화하는 추가 지시사항을 추가해야 했음을 아마도 관찰했을 것입니다. HTTP POST 엔드..
2024.03.03 -
ch08 Configuring endpoint-level authorization: Applying restrictions
이 장에서 다루는 내용:matcher 메소드를 사용하여 제한을 적용할 request 선택각 matcher 메소드에 대한 최적의 시나리오 학습7장에서는 권한과 Role을 기반으로 접근을 구성하는 방법을 배웠습니다. 하지만 모든 엔드포인트에 대한 구성만 적용했습니다. 이 장에서는 특정 그룹의 요청에 대한 권한 부여[인가] 제약 조건을 적용하는 방법을 배울 것입니다. 프로덕션 애플리케이션에서는 모든 요청에 동일한 규칙을 적용할 가능성은 낮습니다. 일부 특정 사용자만 호출할 수 있는 엔드포인트가 있는 반면, 다른 엔드포인트는 모든 사람이 접근할 수 있습니다. 각 애플리케이션은 비즈니스 요구 사항에 따라 자체적인 커스텀 인증 구성을 가지고 있습니다. 액세스 구성을 작성할 때 다양한 요청을 참조하는 옵션에 대해 논..
2024.03.02 -
ch07 Configuring endpoint-level authorization: Restricting access
이 장에서는 다음을 다룹니다.권한과 Role 정의하기엔드포인트에 권한 규칙 적용하기몇 년 전, 저는 아름다운 카르파티아 산맥에서 스키를 타던 중 이 재미있는 장면을 목격했습니다. 대략 열 명, 아니면 열다섯 명의 사람들이 스키 슬로프 꼭대기로 가기 위한 케빈에 탑승하기 위해 줄을 서 있었습니다. 한 유명한 팝 아티스트가 두 명의 보디가드와 함께 나타났습니다. 그는 유명인사라는 이유로 줄을 뛰어넘을 수 있을 것으로 자신하며 당당하게 앞으로 걸어갔습니다. 줄의 맨 앞에 도달했을 때, 그는 놀라움을 받았습니다. "티켓 주세요!"라고 탑승을 관리하는 사람이 말했고, 그 다음에는 "먼저 티켓이 필요하고, 둘째로, 이 탑승에는 우선 순위 줄이 없어요, 죄송합니다. 줄은 저기 끝에 있습니다."라고 설명해야 했습니다...
2024.03.01 -
ch06 Implementing authenticaiton
이 장에서는 다음을 다룹니다:사용자 정의 AuthenticationProvider를 사용하여 인증 로직 구현HTTP Basic 및 form 기반 로그인 인증 방법 사용SecurityContext 구성 요소의 이해 및 관리 3장과 4장에서는 인증 흐름에서 작동하는 몇 가지 구성 요소를 다뤘습니다. 우리는 UserDetails를 설명하는 프로토타입을 정의하는 방법과 Spring Security에서 사용자를 설명하는 방법을 논의했습니다. 그런 다음, UserDetails를 사용하여 UserDetailsService 및 UserDetailsManager 계약이 작동하는 방법과 이를 구현하는 방법을 배웠습니다. 우리는 또한 이러한 인터페이스의 주요 구현을 논의하고 예제에서 사용했습니다. 마지막으로, Passwor..
2024.02.26