스프링시큐리티 2

Spring Security JWT 토큰으로 인증하기

[환경] Java8 SpringBoot 2.7.7 with Gradle Spring Security 5.7.6 세션(Session) 인증 방식 장단점 JSESSIONID는 서버에서 세션(사용자) 정보를 찾는 Key로만 활용한다. 그 자체로는 개인정보가 들어 있지 않지만, 세션하이재킹 공격을 당할 수 있기때문에 절대적으로 안전하지는 않다. 서버에 세션 정보를 저장할 공간이 필요하다. 분산 서버에서는 세션을 공유하기 어렵다. 토큰(Token) 인증 방식 장점) 세션을 관리할 필요가 없어 별도의 서버 저장소가 필요없다. 서버 분산이나 클러스터 환경처럼 확장성에 좋다. 단점) 한 번 제공된 토큰은 회수가 어렵다. 세션은 서버의 세션 정보를 삭제하게 되면 클라이언트 브라우저의 JSESSIONID는 사용할 수 없게..

개발/Java|Spring 2023.02.07

Spring Security Custom Fiilter 적용(UsernamePasswordAuthenticationFilter를 활용해 모든 권한을 가진 tester 계정 만들기)

[환경] - Spring Security 5.7.6 기준, Java 8 이상 'test'라는 계정을 이용해 모든 권한 테스트를 편하게 하고 싶을 때, UsernamePasswordAuthenticationFilter를 활용하면 간단하게 할 수 있다. 그럼 해당 필터를 커스텀하여 테스트를 좀 더 손쉽게 만들어 보자. UsernamePasswordAuthenticationFilter Spring Security가 제공하는 formLogin을 이용하면 UsernamePasswordAuthenticationToken을 내려주는데 바로 이 토큰을 제공하는데 필터다. username과 password로 로그인을 하려고 하는지 체크하고, 만약 로그인이면 여기서 토큰을 처리하고 가야 할 페이지로 보내준다. 이제 이 필..

개발/Java|Spring 2023.02.07
728x90
반응형