728x90

Spring/Security 3

7) JWT(JSON Web Token) 설정

아래 내용은 https://github.com/beaver84/setting-test 에서 실제 소스를 확인할 수 있습니다. JWT(JSON Web Token)는 당사자 간에 정보를 JSON 개체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준( RFC 7519 )입니다. JWT는 비밀( HMAC 알고리즘 포함) 또는 RSA 또는 ECDSA를 사용하는 공개/개인 키 쌍을 사용하여 서명할 수 있습니다. 공개/개인 키 쌍을 사용하여 토큰에 서명할 때 서명은 개인 키를 보유한 당사자만이 서명한 당사자임을 인증합니다.(세션, 쿠키 기반 인증과 차이) 권한 부여 : JWT를 사용하는 가장 일반적인 시나리오입니다. Single Sign On은 오버헤드가 적고 다양한 도메인에서 쉽게 사용할 수..

Spring/Security 2023.04.18

CustomAuthenticationSuccessHandler와 CustomAuthenticationFailureHandler

: Security에서 지원하는 인증성공, 인증실패 핸들러를 상속한 클래스를 직접 커스텀하여 사용해보자. 1. 인증성공 핸들러 커스텀 2. 인증실패 핸들러 커스텀 3. config 설정 4. 익명클래스로 처리하는 방법 1. 인증성공 핸들러 커스텀 1. SimpleUrlAuthenticationSuccessHandler를 상속한 커스텀 클래스 CustomAuthenticationSuccessHandler를 만듭니다. 2. requestCache와 RedirectStragey를 사용하여 사용자가 인증 요청 성공시 이전에 접근하려 했던 자원(리소스)의 경로로 바로 보내기 위해서 설정해줍니다. 이전의 접근하려 했던 자원(리소스)가 없는 경우 null을 반환하도록 하여 setDefaultTargetUrl에 설정해..

Spring/Security 2023.02.18

(SpringSecurity) UserDetailsServices 활용

UserDetailsServices 활용 JDBC를 이용하는 방식으로도 DB를 처리해서 사용할수 있지만, 여러 정보들중 제한적인 내용만 이용 한다는 단점이 존재 이러한 문제를 해결하기위해 UserDetailsServices 인터페이스를 구현하는 방식을 이용하는것이 좋다. ( 원하는 객체를 인증과 권한 체크에 활용 할수 있기에 많이 사용된다) UserDetailsServices 인터페이스는 단 하나의 메서드만 존재한다. 가장 일반적으로 많이 사용되는 방법은 하위 클래스 중에서 org.springframework.security.core.userdetails.User 클래스 상속 하는형태이다. 커스텀 UserDetailsService를 이용하는 방식을 이용하기 위해선, MYbatis를 이용하는 MemberM..

Spring/Security 2023.02.14
728x90