오늘 공부한 것
* 주간 시험
* Spring 숙련주차 1주차 강의 듣기
주간시험의 날이었다사실 어제부터 엄청 걱정했다시험은 항상 걱정이 많은것 같다
다행히 Lv1 과제에서 조금 변경하면 되는것이었다
이후에는 숙련주차 1주차 강의를 완강했다
내일부터는 Lv2 과제를 시작할 예정이다
Filter web 애플리케이션에서 관리되는 영역으로 Client로부터 오는 요청과 응답에 대해 최초/최종 단계의 위치이며
요청과 응답의 정보를 변경하거나 부가적인 추가 가능
주로 범용적으로 처리해야 하는 작업들, 로깅 및 보안 처리에 활용되며 인증, 인가와 관련된 로직 처리도 가능
인증, 인가와 관련된 로직을 비즈니스 로직과 분리하여 관리할 수 있다는 장점이있다
여러개가 Chain 형식으로 묶여서 처리될 수 있다
Spring Security Filter Chain 방식으로 동작함
Spring 서버에 필요한 인증 및 인가를 위해 많은 기능을 제공
세션방식으로 동작함 그리고 default 로그인 기능을 제공
1) Form Login 인증 인증이 필요한 URL 요청이 들어왔을 때 인증이 되지 않으면 로그인 페이지를 반환함
2) UsernamePasswordAuthenticationFilter Form Login 기반 사용시 username과 pw를 확인하여
인증하는 필터
(1) 사용자가 username과 pw를 제출하면 인증된 사용자의 정보가 담기는 인증 객체인
Authentication 종류중 하나인 UsernamePasswordAuthenticationToken을 만들어서
AuthenticationManager에게 넘겨 인증시도
(2) 실패하면 SecurityContextHolder를 비움
(3) 성공하면 SecurityContextHolder에 Authentication를 세팅
3) SecurityContextHolder SecurityContext는 인증이 완료된 사용자의 상세 정보(Authentication)을 저장
4) Authentication 현재 인증된 사용자를 나타내며 SecurityContext에서 가져올 수 있다
principal 사용자를 식별 Username/Password 방식으로 인증시 일반적으로
UserDetails 인스턴스
credentials 주로 비밀번호, 대부분 사용자 인증에 사용한 후 비운다
authorities 사용자에게 부여한 권한을 GrantedAuthority로 추상화하여 사용함
5) UserDetailsService username/password 인증방식 사용시 사용자를 조회하고 검증한 후
UserDetails를 반환 Custom하여 Bean 등록 후 사용 가능
6) UserDetails 검증된 UserDetails는 UsernamePasswordAuthenticationToken 타입의 Authentication를
만들 때 사용됨 해당 인증객체는 SecurityContextHolder에 세팅됩니다. Custom하여
사용가능
CSRF 사이트 간 요청 위조
공격자가 인증된 브라우저에 저장된 쿠키의 세션 정보를 활용해 웹서버에 사용자가 의도하지 않은 요청을 전달
html에서 CSRF 토큰 값을 넘겨주어야 요청 수신가능
쿠키 기반의 취약점을 이용한 공격이기 때문에 Rest 방식의 API에서는 disable 가능
Validation null 확인 뿐 아니라 문자길이 측정과 같은 다른 검증 과정도 처리가능
@NotNull : null 불가 / @NotEmpty : null, “” 불가 / @NotBlank : null, “”. “ “ 불가 / @Size : 문자 길이 측정 /
@Max : 최대값 / @Min : 최소값 / @Positive : 양수 / @Negative : 음수 / @Email : E-mail 형식 /
@Pattern : 정규 표현식
'항해99' 카테고리의 다른 글
23.09.02 항해 99 16기 주특기 Spring 8일차 (0) | 2023.09.02 |
---|---|
23.09.01 항해 99 16기 주특기 Spring 7일차 (0) | 2023.09.01 |
23.08.30 항해 99 16기 주특기 Spring 5일차 (0) | 2023.08.30 |
23.08.29 항해 99 16기 주특기 Spring 4일차 (0) | 2023.08.29 |
23.08.28 항해 99 16기 주특기 Spring 3일차 (0) | 2023.08.28 |