인메모리 인증

Jaewoo Back·2024년 7월 13일
0

Spring Security공부

목록 보기
8/13
post-thumbnail

Spring Security는 UserDetailsService를 구현하여 메모리에 저장된 사용자 이름/암호 기반 인증을 지원합니다.

다음은 암호 값을 인코딩하고 인코딩된 암호를 가져옵니다.

@Bean
public UserDetailsService users() {
	UserDetails user = User.builder()
		.username("user")
		.password("{bcrypt}$2a$10$GRLdNijSQMUvl/au9ofL.eDwmoohzzS7.rmNSJZ.0FxO/BTk76klW")
		.roles("USER")
		.build();
	UserDetails admin = User.builder()
		.username("admin")
		.password("{bcrypt}$2a$10$GRLdNijSQMUvl/au9ofL.eDwmoohzzS7.rmNSJZ.0FxO/BTk76klW")
		.roles("USER", "ADMIN")
		.build();
	return new InMemoryUserDetailsManager(user, admin);
}

다음 예제에서는 Encoder를 사용하여 메모리에 저장된 암호가 보호되도록 합니다.


@Bean
public UserDetailsService users() {
	// The builder will ensure the passwords are encoded before saving in memory
	UserBuilder users = User.withDefaultPasswordEncoder();
	UserDetails user = users
		.username("user")
		.password("password")
		.roles("USER")
		.build();
	UserDetails admin = users
		.username("admin")
		.password("password")
		.roles("USER", "ADMIN")
		.build();
	return new InMemoryUserDetailsManager(user, admin);
}
profile
https://blog.naver.com/jaewoo2_25

0개의 댓글