항해99/스프링 심화

시험 문제풀이 세션 - 조경민님

숲별 2022. 10. 14. 10:27
728x90

@RequestMapping은 클래스 단위 리팩토링

 

프로젝트 전역에 적용은 application.properties에 아래 내용 넣어줌

server.servlet.context-path=/sparta

 

NotNull

NotBlank

 

regex101.com에서 정규표현식 Regular  expression 검증 가능

digitalex..?사이트였는데

엣지포인트..?

설정임.

Optional

.map

.orElseThrow

람다식

 

user가 예약어 아닌 예약어라서 member 사용.

스프링 시큐리티 쓸 때, 멤버나 account로 하라고 권고.

 

유저 상세 정보로 활용하려고 하는 구나 맵핑

회원과 내가 만든 시큐리티 연결.

 

:: 스프링 시큐리티에서 new 연산자 이용했

userDetailsImpl 클래스에서 객체를 생성해준 것.

자바에서 이중연산자 람다식 함수형인터페이스

파라미터 중복 사용 방지위해 람다식 사용

자바8부터 사용

Optional 쓸 때 람다식으로 예외처리하는 경우 많음.

가독성, 로직을 클린하게 하기 위한 기능.

러닝 커브가 높다.

예시보면서 쌓아나가는 게 좋다.

람다식인데 파라미터가 없는 상태로 사용

 

http://yoonbumtae.com/?p=2776 

 

자바(Java) 8: 람다식에서 콜론 두개 (:: - 이중 콜론 연산자, 메소드 참조 표현식)의 용도와 사용법

자바8 람다식: 자바(Java): 람다식 (Lambda Expression) 기초 (Java 8 이상)   콜론 두개 (:: - 이중 콜론 연산자)의 정식 명칭은 메소드 참조 표현식(method reference expression)이며, 결론부터 말하자면 람다식에

yoonbumtae.com

 

 

인터페이스 상속 받아서 사용

오버라이드 해서

응답타입 제이슨

미리 이 에러처리 해줘야함.

 

에러화면 그대로 뜨는 건 안전, 보안상 문제가 될 수 있기 때문

키값, 토큰 값 등 중요한 내용이 노출 될 수 있기 때문에 에러처리해줘야함.

원치않는 접근을 방지.

 

인가 admin

 

@Component

스프링 나 예외처리 좀 봐줘

이 두 개는 인증, 인가 측면에서 잘 써줘야 해

 

스프링이 견고하다고 하는 이유가 이런 설정을 꼼꼼하게 해줄 수 있기 때문.

 

 

+질문들 답변

 

필터체인

jwt 토큰필터를 앞단에 두고

username, password의 authentication 필터도 거침

 

시큐리티와 jwt는 다른 거에요.

다만 과정에서 시큐리티가 지원하는 메소드 등을 이용하는 것.

공통적인 예외사항은 어드바이스로 해주는 게 관리차원에서 좋다..?

 

어노테이션 직접 만들어 쓰기 가능

정교하게 validation 걸고 에러처리

 

 

 

https://shinsunyoung.tistory.com/89

 

Spring Boot에서 Custom Valid Annotation 만들기

안녕하세요! 이번 포스팅에서는 Spring Boot에서 Custom Valid Annotation를 적용하는 방법에 대해 알아보겠습니다. 전체 코드는 Github에서 확인이 가능합니다. ✍️ 스프링에서 제공되는 Valid 관련 어노테

shinsunyoung.tistory.com

 

 

예외처리란 내 서비스보호하기 위함임.

처리 안된 에러메세지는 해커들에게 노출되면 보안 취약해짐

 

 

 

 

 

 

-----------------------

녹화본 링크

https://us02web.zoom.us/rec/share/wxfMP37oSLXeG4gcB9NEi9eETgEChVHaT9bBo0JbL18i04KKyV0wj8JjdPitONHC.9iwgfV6UCErxTPPQ

 

비디오 회의, 클라우드 전화, 웨비나, 채팅, 가상 이벤트 | Zoom

Zoom의 안전하고 안정적인 비디오 플랫폼은 회의, 채팅, 전화, 웨비나 및 온라인 이벤트 등 모든 통신 요구 사항을 지원합니다.

us02web.zoom.us

 

코드 깃헙

https://github.com/beatitudo331/login-live-session2

 

GitHub - beatitudo331/login-live-session2: Spring + Security + JPA 를 활용한 로그인 API 서버 구축

Spring + Security + JPA 를 활용한 로그인 API 서버 구축. Contribute to beatitudo331/login-live-session2 development by creating an account on GitHub.

github.com

 

세션 자료 : 

https://sollertia-study.notion.site/Spring-Security-JPA-OAuth2-a242a27b0ef4473ea9c3538748a5fa0d