우주먼지
article thumbnail
Servlet Filter Chain & DelegatingPasswordEncoder
Framework/Spring 2022. 11. 20. 01:33

💡 Filter Chain Filter Chain의 특징 - Request URI Path를 기반으로 HttpServletRequest 를 URI Filter & Servlet 매핑 - 필터체인 안에서 순서를 지정할 수 있으며, 순서는 매우 중요 - 순서를 지정하기 위한 @Order & Ordered 인터페이스를 구현해서 순서 지정 - FilterRegistrationBean을 이용해 순서 지정 가능 - Spring Security의 Filter Chain은 URL별로 여러개 등록 가능 - 어떤 Filter Chain을 사용할지는 FilterChainProxy가 결정하며, 가장 먼저 매칭된 Filter Chain을 실행 Servlet Filter Chain의 2가지 종류 DelegatingFilterPr..

article thumbnail
Spring Security 기본 구조
Framework/Spring 2022. 11. 18. 19:53

💡 Spring Security 어플리케이션에 Spring Security가 없을때 중요한 요소가 빠져있다. - Authentication (인증) - Authorization (인가) - 웹 보안 취약점에 대한 방지 Spring Security를 사용하는 이유 - 특정 보안 요구사항을 만족하기 위한 Customizing 용이 - 유연한 확장 - 보안기능이 검증된 신뢰할만한 보안 프레임워크 Spring Security의 로그인 인증 방식 - Form Login 방식 : SSR 방식의 어플리케이션에서 주로 사용 Security를 적용하여 보안 취약으로 인한 사고 방지 방법 SSL 적용 Role 별 권한 적용 많은 유형의 사용자 인증 기능 민감 정보 암호화 resource ACL 알려진 웹 공격 차단 Spr..

article thumbnail
Cookie & Session & 웹 보안 공격 & CA 발급/HTTPS 적용
Framework/Spring 2022. 11. 17. 12:03

💡 Cookie 서버에서 클라이언트에 데이터를 저장, 클라이언트에 저장된 후히를 이용하여 데이터를 가져옴 Cookie Option Domain 도메인 불일치 시 쿠키 전송 X 도메인이란? 서브 도메인(ex: www)을 제외한 URL 중 포트까지의 URL을 의미함 이 옵션을 통해 도메인이 다를때 발생할 수 있는 취약점 공격에 대한 방어가 가능함 Path 세부 경로 라우팅 기능 Default Path = '/' 설정된 Path가 만족하는 경우, 하위의 경로가 존재해도 쿠키 전송이 가능함 MaxAge & Expires MaxAge : second 설정 == Session 쿠키 Expires : date 설정 == Persistent 쿠키 Secure https 프로토콜만 쿠키 전송 허용 HttpOnly Def..

article thumbnail
Application Deployment & Build
Framework/Spring 2022. 11. 15. 09:51

💡 Application Deployment & Build IDE Tool이 없는 환경 Windows PS C:/{direction}> .\gradlew bootjar Git Project Directory 이동 ./gradlew build java -jar {project-name}.jar server-properties.active="" Profile을 이용한 DB 설정 정보 포함 application-{name}.yml 형식의 환경 별 파일 생성 후 DB별로 설정 정보 분리 서버 배포 PaaS CF CLI 사용 - cf push acloudyspringtime -p target/{file-name}.jar IaaS AWS Beanstalk, Container Registry, Code Deploy ..

article thumbnail
API Documentation (Spring RestDocs)
Framework/Spring 2022. 11. 12. 19:40

💡 API Documentation Swagger에 비해 Spring RestDocs는 기능 구현과 관련된 코드에 API 문서 생성을 위한, 어노테이션같은 어떠한 정보도 추가되지 않음 클라이언트에서 REST API 기반의 백엔드 어플리케이션의 사용을 위한 정보 API Documentation의 자동화가 필요한 이유 사람의 실수로 인한 업데이트된 정보의 누락 수기 작성의 비효율성 생산성 향상 Swagger vs Spring Rest Docs Swagger 장점 - API 요청 툴로써 기능 사용 가능 단점 - Swagger는 기능 구현과 관계없는 많은 어노테이션 사용으로 인한 코드 간결성 저하 Spring Rest Docs 장점 - 테스트와 구현한 기능에서 정보가 하나라도 일치하지 않으면 테스트 Failed..

article thumbnail
Testing (Mockito)
Framework/Spring 2022. 11. 8. 08:50

💡 Test JUnit은 표준 테스트 프레임워크이다 기능 테스트 테스트의 범위 중 제일 큰 테스트, 어플리케이션 전체에 걸친 테스트 통합 테스트 테스트 주체가 어플리케이션 제작 개발팀 or 개발자 단위 테스트, 클라이언트 툴 없음 슬라이스 테스트 어플리케이션을 특정 계층으로 나눠서 테스트 단위 테스트 어플리케이션의 핵심 비즈니스 로직 메소드의 독립적인 테스트 단위 테스트의 F.I.R.S.T 원칙 Fast Independent Repeatable Self-validating Timely given - when - then Pattern given 테스트에 필요한 전제조건 포함 when 테스트 동작 지정 then 테스트 결과 검증, 값 비교 (Assertion) Hamcrest를 사용한 Assertion A..

article thumbnail
분산 트랜잭션
Framework/Spring 2022. 11. 8. 07:27

💡 분산 트랜잭션 스프링 부트는 Atomikos 임베디드 트랜잭션 매니저를 통해 여러 XA 리소스에 걸친 분산 JTA 트랜잭션을 지원하며, 올바른 순서대로 기동,종료 할 수 있도록 스프링 빈에 적절한 depends-on 설정을 적용해준다. JTA 환경을 감지하면 스프링의 'JtaTranscationManager'를 사용해 트랜잭션을 관리한다 자동 설정된 JMS, DataSource, JPA 빈은 XA 트랜잭션을 지원하도록 업그레이드 된다 Atomikos 트랜잭션 로그는 어플리케이션의 홈디렉토리안의 transcation-logs 디렉토리에 기록 이를 위해서 application.properties에 spring.jta.log-dir 프로퍼티를 설정하면 사용디렉토리 custom 가능 2개 이상의 네트워크 상..

검색 태그