대부분의 애플리케이션은 인증, 인가를 통해 접근을 제어하고 있습니다. 그만큼 인증, 인가는 중요한 부분이라고 생각합니다. 이번에 웹 애플리케이션에서 이뤄지는 인증, 인가를 공부해 볼 겸 Interceptor를 사용해 접근 처리를 간단하게 구현해 보았습니다. 인증 인가는 Filter로도 많이 구현할 수 있습니다. Filter와 Interceptor의 차이는 다른 블로그에서 자세히 설명한게 많으니 링크만 달고 생략하겠습니다. [Filter, Interceptor, AOP 차이 및 정리] (https://goddaehee.tistory.com/154) Interceptor 보통 인증, 인가는 SecurityFilter를 사용해 구현하곤 했습니다. 하지만 이번에는 Interceptor를 사용해 볼 것입니다. 다..
평소 Validation을 할때 Bean Validation에서 제공하는 표준 Validation 이나 AOP를 사용하여 커스텀 Validation을 구현하였습니다. 하지만 회사에서는 Jsp를 사용해 태그로 Validation을 사용하였습니다. BindingResult를 사용해 error를 등록해주면 Jsp의 태크를 통해 받아올 수 있습니다. HTML 코드 input 태그 아래 errors 태그가 있는것을 확인할 수 있습니다. 해당 폼의 유효성 검사를 하고 오류 발생시 오류 메시지를 HTML의 태그로 출력하게 됩니다. Validation 검증 Validation은 Back단에서 할 수 있습니다. @Override protected void validateEdit(User entity, BindingRes..
AOP는 관점 지향 프로그래밍으로 DI가 의존성 주입이라면 AOP는 로직 주입이라고 할 수 있습니다. 이체, 입출금, 이자계산 로직에서 전부 로깅, 보안, 트랜잭션이 반복해서 동작하는것을 알 수 있습니다. 이것을 횡단 관심사라고 합니다. 프록시 패턴으로 관심사의 로직 주입 설정대로 실행됩니다. 인터페이스 기반입니다. 메서드에만 적용 가능? 런타임 기반입니다. AOP 적용, 로직 주입 방법 로직을 주입할 수 있는 곳은 총 5군데가 있습니다. AOP 적용 방법 @Aspect : Class에 사용하면 AOP에서 사용하게됩니다. JoinPoint : 호출된 객체의 메서드입니다. JoinPoint를 활용하여 메서드의 정보를 확인할 수 있습니다. @PointCut : 자르는 지점으로 Aspect의 적용 위치를정확히..