티스토리 뷰

Spring

시큐리티 1부~2부

kingsubin 2020. 7. 13. 15:50

 

- 시큐리티 의존성 추가시

인증되지 않은 사용자가 접근시 /login으로 리다이렉트 된다. (테스트 코드 포함)

 

 

- 접속시

스프링부트 자동 설정에 의해서 username, pass 가 주어진다.

기본 username : user

passowrd : 애플리케이션을 실행할 때마다, 랜덤하게 주어진다.

 

- 테스트 코드에서 인증된 유저 정보가 주고싶을때

spring-security-test 의존성 추가,

위와 같이 @WithMockUser 추가 

 

 


 

 

 

 

- SecurityConfig 설정

이전에 ConditionOnMissingBean이였는데

WebSecurityConfigurerAdapter를 상속받았으니 기존의 자동설정은 이제 적용되지 않는다.

 

이렇게 실행시, my 에서만 로그인을 요구한다.

 

 

- UserDetailService 구현

일반적으로 유저 정보를 관리하는 서비스 계층에서 구현

UserDetailService로 등록된 빈이 있으니 이제 스프링 부트가 기본 유저를 생성하지 않는다.

 

리턴값은 UserDetails라는 인터페이스 구현체이다.

User(username, password, 권한)을 리턴한다.

 

/SecurityConfig

- PasswordEncoder

인증 계정 정보에 들어가는 패스워드는 모두 인코딩되어서 DB에 저장되어야 한다.

 

'Spring' 카테고리의 다른 글

Spring security 정리  (0) 2021.02.02
spring-security 잘 정리된 글  (0) 2021.02.01
데이터 7부 : 데이터베이스 초기화  (0) 2020.07.13
데이터 5~6부 : 스프링 데이터 JPA  (0) 2020.07.12
데이터 4부 : PostgreSQL  (0) 2020.07.12