Backend/Spring

·Backend/Spring
오늘은 어제 공부해봤던 @PreAuthorize와 밀접한 연관이 있는@PostAuthorize에 대해 알아 본 내용을 정리해봤다. @PostAuthorizeJava의 Spring Security 프레임워크에서 제공하는 주석으로, 메서드의 반환 값에 보안 제약 조건을 적용하는 데 사용됩니다. 이 주석을 사용하면 개발자는 메서드 실행 후 평가되는 보안 식을 지정하여 반환된 개체 또는 결과가 지정된 보안 조건을 충족하는지 확인할 수 있습니다. @PostAuthorize작동 방식 주석이 달린 메소드가 @PostAuthorize호출되면 Spring Security는 먼저 메소드 실행을 허용합니다. 메서드 실행 후 에 지정된 보안 식이 @PostAuthorize메서드의 반환 값에 대해 평가됩니다. 표현식이 로 평가..
·Backend/Spring
오늘은 SpringSecurity에 대해 배우던 도중filterChain에서authorizeHttpRequests, requestMatchers를 활용하는 것 이외에@PreAuthorize 어노테이션을 활용해 메소드 별로 콤팩트하게 코드를 짜는것에 대해접하게 되었고  해당 어노테이션에 대한 몇가지 개념과 사용방법에 대한 내용을 정리해보았다. 1. @PreAuthorize 작동 방식-  @PreAuthorize 주석이 달린 메서드가 호출되면 Spring Security는 호출을 가로채고 지정된 표현식 평가 표현식이 true -> 평가되면 메소드 실행표현식이 false ->  액세스 거부, 보안 예외 발생2. 사용 방법- @PreAuthorize 복잡한 보안을 구현하는 데 사용 가능(역할, 권한) - 표현식..
·Backend/Spring
오늘은 Spring 심화즉, Spring Security에 대해 배우기 이전에 인증과 인가에 대해 개념정립을 해보고자 알아본 내용을 정리해보았다. 1. 인증(Authentication)1-1 정의 - 사용자나 시스템의 신원을 확인하는 프로세스( 시스템이나 리소스에 액세스하려는 엔터티가 우리 서버에서 발급한 Claim을 보유한 사람인지 확인합니다. )  1-2 인증 방법  - 사용자 이름, 비밀번호, 생체 인식 데이터 또는 토큰과 같은 자격 증명의 유효성을 검사 예시 : 이메일 주소와 비밀번호를 이용해 이메일 계정에 로그인하면 인증 과정을 거치게 됨결과 : 인증에 성공하면 시스템이 사용자를 인식 2. 인가(Authorization) 1-1 정의 - 인증된 사용자가 특정 리소스에 액세스하거나 특정 작업을 수..
·Backend/Spring
미니 프로젝트에서 포스팅 된 피드(게시물)을 조회할 때 각 게시물에 태그 기준으로 필터링 조회하는 기능을 만드는 도중클라이언트에게 받아야할 Query String 변수의 수가 많았다. 여러개의 Request Parameter를 한번에 받을 수 있으면 좋겠다고 생각해 알아보던 중 @ModelAttribute를 사용할 수 있다는 것을 알게됐고 사용해보았다. @ModleAttibute라는 것이 무엇인지 더 알고 싶어져서알아본 내용을 정리해봤다. 1. Request Parameter - 클라이언트에서 서버로 보내지는 데이터# 전송 형태(resource)- Query string - Form-data - Request body - Request header통상적으로 form-data와 query string의 두..
·Backend/Spring
미니 프로젝트에서 포스팅 된 피드(게시물)을 조회할 때 각 게시물에 태그 기준으로 필터링 조회하는기능을 만들고 테스트 하던 과정에서 문제를 겪었다. 조회 기능이기에 GetMapping을 하고필터링에 필요한 태그 정보를 @RequestBody를 통해 받았는데 swagger에서 오류가 발생했다. 어떤 문제인지 감을 잡기 어렵다가 RequestParam으로 받아보니 해결이 되어서 어떤 상황인지 좀 더 알아보고 싶어져서 찾아보았다.    1. GET 요청의 의미 - GET 메소드는 부작용을 일으키지 않고 서버에서 데이터를 검색하기 위한 것( 리소스 표현을 요청하는 데 사용 ) - GET 요청은 서버 상태를 수정해서는 안 된다. - HTTP/1.1 사양에 따르면 GET 요청에는 Body가 포함되어서는 안된다.( ..
·Backend/Spring
1. Transaction(트랜잭션)의 기본개념 만약 데이터베이스의 데이터 수정 도중 예외가 발생된다면DB의 데이터들은 수정 이전 상태로 다시 되돌아가져야안정적인 작업처리가 가능할 것입니다. 이러한여러 작업을 진행하다가 문제가 생겼을 때이전 상태로 롤백하기 위해 사용되는 것 # 더 이상 쪼갤 수 없는 최소 작업 단위를 의미그러므로commit으로 성공 하거나rollback으로 실패 이후 취소되어야 한다.( 각 트랜잭션 속성에 따라 동작 방식 다르게 가능 ) ex) 새로운 데이터 추가 도중 에러 발생 시 해당 추가 작업은 없었던 것처럼 롤백 # 여러 개의 작업에 대한 롤백- 여러 개의 작업을 1개의 트랜잭션 관리앞선 내용과 같이 트랜잭션의 마무리 작업으로는 크게 2가지가 있다. 트랜잭션 커밋: 작업이 마무리..
·Backend/Spring
1. 테스트 및 API 문서화 도구 설정하기Postman vs Swagger# Postman- 장점API 모니터링 : 작성한 API 주기적 실행 예약 가능이에 따른 API의 성공 실패 여부 모니터링 가능 Mock 서버 : 실제 개발을 하지 않고도,지정한 데이터를 응답하는 Mock Server를 만들 수 있어,Frontend 개발자 입장에서 Backend API의 완성 기다리지 않고 테스트 가능 환경변수 기능 : 다양한 환경 변수 지정 가능 -> 여러 환경에서 테스트 가능 팀 간 협업 기능 : 환경 및 문서 공유 위한 다양한 기능들 제공 ->  팀 간 협업 쉬움 - 단점유료 기능 : 유용한 기능 일부  유료필요 리소스 : 생각보다 컴퓨터의 자원을 많이 씀, 사양이 낮은 컴퓨터에서는 돌리기 힘들 수 있음러닝..
jwkane
'Backend/Spring' 카테고리의 글 목록