본문 바로가기

Spring6

SecurityContextHolder와 Authentication SecurityContextHolder SecurityContext 제공, 기본적으로 ThreadLocal을 사용한다. ThreadLocal 이란? 한 쓰레드 내에서 Share 하는 저장소 → 즉, 메소드 파라미터를 사용하지 않아도 한 쓰레드 내에서 공유하기 때문에 데이터에 접근할 수 있다. SecurityContext Authentication 제공 Authentication Principal과 GrantAuthority 제공 Principal "누구"에 해당하는 정보 UserDetailsService에서 리턴한 객체 객체는 UserDetails 타입 GrantAuthority ROLE_USER, ROLE_ADMIN 등 Principal이 가지고 있는 권한을 나타낸다. 인증 이후, 인가 및 권한 확인할.. 2021. 6. 2.
AOP 정리 AOP란? Aspect-Oriented Programming : 관점(관심)지향 프로그래밍 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원 장점 애플리케이션 전체에 흩어진 공통 기능을 하나의 장소에서 관리 다른 서비스 모듈들을 본인의 목적에만 충실하게 함 위의 그림에서 Service의 핵심 기능은 공통된 요소가 없습니다. 하지만, 부가기능 이란 과점으로 보면 상황이 달라집니다. 각각 Service는 로그를 기록하는 logging()이라는 메소드가 공통적으로 들어가는 것을 확인할 수 있습니다. 기존에 OOP에서 바라보던 관점을 다르게 하여 부가기능적인 측면에서 보았을 때 공통된 요소를 추출하는 것 입니다. [요약] OOP : 비지니스 로직의 모듈화 모듈화의 핵심 단위는 비지니스 로직 AOP : .. 2021. 6. 2.