SPRING/스프링부트 개념과 활용

[스프링부트 개념과 활용] 스프링 시큐리티 (활용)

JUMP개발자 2021. 1. 20. 12:34

이전 포스팅은 단순히 스프링 시큐리티를 적용하는데 그쳤지만, 이번에는 실제로 활용할 수 있는 방법을 알아보고자 한다.

 

위와 같이 시큐리티 설정을 하는 클래스를 생성한다.

(index 페이지와 hello 페이지는 정상적인 접근이 가능하지만, my 페이지는 폼 인증 이후 접근이 가능하도록 설정)

- PasswordEncoder는 password를 encoding을 한 후에 password를 저장하도록 하는 Bean이다.

 

계정 정보 

 

Account Entity

 

AccountRepository

- 유저이름을 조건으로 유저 정보를 찾는 메서드 추가

 

AccountService

- createAccount : 계정을 생성하는 메서드

- loadUserByUsername : username을 이름을 기준으로 유저정보를 DB에서 조회하고, 데이터가 없을 시에는 NotFoundException을 발생시킴. 그 후 UserDetails의 구현체인 User를 리턴한다. User(username, password, 권한)

 

AccountRunner

- 어플리케이션을 실행할 때마다 jump 계정을 생성한다.

 

 

INDEX 페이지

 

 

/my 페이지에 접속 시 아래와 같이 페이지가 뜸.

 

 

jump 계정으로 로그인시 아래와 같이 정상적으로 페이지가 뜨는 것을 확인할 수 있다.