[포토그램] 1. 회원가입 - 시큐리티

kiwonkim·2021년 9월 8일
0

스프링 시큐리티

Redirect

시큐리티는 인증 되지 않은 사용자에게 요청이 들어올시 특정 페이지로 Redirect 시킨다.

CSRF 토큰

클라이언트가 입력하는 Form 도 결국 서버에게 받은 것이다.
서버는 자기가 제공한 Form 에서만 입력이 가능하도록 Form 입력에 난수 값 속성을 추가해 놓는데, 이것이 CSRF 토큰이다.

그러면 어디로 Redirect 시킬지. 어떤 주소로 접근할때 Redirect 시킬지 등은 어떻게 정할까?



시큐리티 설정

  1. 우선 SecurityConfig 클래스를 생성한다.


  1. 해당 클래스를 시큐리티 설정 파일로 등록한다.

@EnableWebSecurity 어노테이션 추가 -> 해당 클래스가 Security 설정파일이 된다.
WebSecurityConfigurereAdapter 를 상속 -> configure 메서드를 오버라이딩 하기 위해
configure 메서드 오버라이딩 -> 시큐리티 설정 변경


  1. 시큐리티 설정 변경

http.csrf().disable() : csrf 설정 끄기
http.authorizeRequests() : http 요청에 대해
.antMatchers(~).authenticated() : ~의 URL 접근시 인증이 필요
.anyRequest().permitAll() : 나머지 접근은 모두에게 허용
.and() : HttpSecurity 객체로 돌아옴
.formLogin().loginPage(~).defaultSuccessUrl(~~) : form 방식 로그인 사용할 것이고. 로그인 페이지는 ~이며. 성공 시 기본 페이지는 ~~이다.



결과

localhost:8080/ 으로 이동해보겠다.

인증되지 않아 시큐리티에 의해 로그인창으로 Redirect 된 모습이다.

0개의 댓글

관련 채용 정보