JWT JWT (Json Web Token) 웹표준으로 정의된 토큰기반의 인증 기법중 하나입니다 이는 서버와 클라이언트간의 정보를 JSON 객체로 만들어서 보다 안전하게 전송을 하는 방법중 하나입니다 사용처 Spring Security 의 기본적인 form 로그인에 대해서 공부가 끝이나면 OAuth2.0 에 대해서 공부를 할것인데 이때 JWT 방식을...
Spring Secuirty 13 나만의 로그인 및 회원가입 만들기 3
소스 주소 : https://gitlab.com/kimdongy1000/spring_security_web/-/tree/main_0903?ref_type=heads 작업 주소 : https://gitlab.com/kimdongy1000/spring_security_web/-/commit/29c0fdd6b94a0c246b7228e38a478af96d3...
Spring Secuirty 12 CsrfFilter
CSRF 란 CSRF(Cross-Site Request Forgery) 토큰은 웹 애플리케이션의 보안을 강화하는 데 사용되는 토큰종류이다 그럼 csrf 공격은 웹사이트 취약점을 이용한 공격의 한가지 방법입니다 1) 선량한 사용자가 로그인을 하여 정당한 권한을 부여 받습니다 2) 선량한 사용자는 악의적 사용자가 심어둔 공격페이지를 자신도 모르게 열...
Spring Secuirty 11 나만의 로그인 및 회원가입 만들기 2
csrf form 추가 <h1 class="h3 mb-3 fw-normal"> 회원가입 </h1> <div class="form-floating"> <input type="email" class="form-control" id="floatingInput" placeholder=...
Spring Secuirty 10 나만의 로그인 및 회원가입 만들기
브랜치 주소 https://gitlab.com/kimdongy1000/spring_security_web/-/tree/main_0903 소스 공유 https://gitlab.com/kimdongy1000/spring_security_web/-/commit/bbf6e35fbbb430194e04dda88c241b5be907fd50 이제까지 우리는 시큐...
Spring Secuirty 9 @AuthenticationPrincipal
인증된 유저 사용 그럼 인증된 유저는 어떤 방식으로 참조를 걸 수 있을까 이떄 사용가능한게 바로 @AuthenticationPrincipal 입니다 @AuthenticationPrincipal @RestController public class DemoController { @GetMapping("/demo") public Strin...
Spring Secuirty 8 Authorities , Role
Authorities , Role 의 각각 정의 Role 정의 이는 주로 이 User 가 가지는 그룹을 나타냅니다 일반 유저를 나타내는 유저 그리고 관리자를 나타내는 Admin 등등 지정할 수 있으며 이는 유저의 컨셉과 사용자의 사용법에 따라서 다르게 정의 됩니다 Authorities 정의 이는 주로 권한을 나...
Spring Secuirty 7 PasswordEncoder
우리는 지난시간에 InMermory 를 만들때 PasswordEncoder 를 사용했었는데 오늘은 이에 대해서 알아보도록 하겠습니다 @Configuration public class SecurityConfig { @Bean public PasswordEncoder passwordEncoder(){ return new B...
Spring Secuirty 6 InMemoryUser
지난시간에 로그인 유저를 가지고 올때 InMemory 데이터 베이스에 저장된것을 가지고 온것을 기억할것이다 가장 기본이 되는 저장소이지만 이는 휘발성이라 프로그램에 끊어지면 없어지는 특징을 가집니다 새로운 유저 생성 @Configuration public class SecurityConfig { @Bean public Passwor...
Spring Secuirty 5 인증 전체과정
이번시간에는 실제로 로그인을 하시 어떤 일이 일어나는지에 대해서 알아보도록 하겠습니다 로그인에 관련한 필터는 UsernamePasswordAuthenticationFilter 이 기본이 되는데 여기서 부터는 조금 filter 의 내용이 길어집니다 그럴 수 밖에 없는게 여기서는 실제로 User 가 존재하는지 여부와 사용자 권한 확보 그리고 인증된 객체...