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 계정으로 로그인시 아래와 같이 정상적으로 페이지가 뜨는 것을 확인할 수 있다.