여태껏 운좋게도 spring을 최선버전으로만 써왔다. 그러나 최근 프로젝트에서 전자정부 프레임워크를 사용할 일이 있어 분석하다가 커스텀하려고 하다보니 입맞에 맞게 바꾸려면 기본 기능부터 잘 알아야겠다는 생각이 들었다. 나름 전자정부에서도 security의 기능을 커스텀
앞서 스프링 시큐리티의 구조를 살펴보았다. 스프링 시큐리티에서 인증이 어떻게 처리되는지 살펴보고자 한다. Authentication Architecture 스프링 시큐리티를 사용하다보면 자주 접하게 되는 요소들이다. > SecurityContextHolder -
AuthenticationManager 이전에 UsernamePasswordAuthenticationFilter 에서 Authentication 객체를 만들기위해서 AuthenticationManger에게 전달한다고 하였다. 아키텍처 부분에서 설명했는데 Authenti
인증(login)이 완료되면 인가처리(permission)가 시작된다. 인가에서 알아볼 키워드는 아래와 같다 AuthorizationManager Hierarchical Roles AuthorizationFilter Authorization Architecture 이

기본적으로 spring security는 모든 요청이 인증되어야 한다. 그렇기 때문에 권한 부여 규칙을 선언해주어야 한다. 밑의 코드 예시를 보면 requestMatchers에서 url을 설정하고, 이에 대한 권한을 정한다.위의 코드는 login url에 대해서는 모두
웹서비스를 개발하다보면 카카오, 네이버, 구글과 같은 소셜 로그인을 구현해야할 때가 있다. 이 때 OAuth2 개념과 마주하게 되는데, 기본 개념과 spring에서 구현하는 방법을 알아보고자 한다. OAuth2 란? 이는 권한부여 프레임 워크로 타사 웹사이트나 웹이
이제 실제 코드를 구현하면서 해당 흐름이 어떻게 되는지 살펴보자 OAuth2 서버에 등록하기 직접 OAuth2 서버를 구현할 수도 있지만, 구글, 네이버, 카카오같이 훌륭한 인증 서버들이 존재한다. 해당 플랫폼에서는 OAuth2를 위한 서비스를 제공하고 있고 해당 플