728x90
- 스프링 시큐리티(Spring Security) 설정 추가1
- security dependency 추가하기
- pom.xml에 security와 관련된 의존성 추가 후 “Reload All Maven Projects”을 클릭하여 의존성을 받아온다.
-
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
- 스프링 시큐리티 설정 추가2
- SecurityConfig 소스 작성
- 유저에게 선택적으로 권한요청이 가능
-
@Configuration @EnableWebSecurity // (1) public class SecurityConfig extends WebSecurityConfigurerAdapter { // (2) @Autowired MemberService memberService; @Override protected void configure(HttpSecurity http) throws Exception { // (3) } @Bean public PasswordEncoder passwordEncoder() { // (4) return new BCryptPasswordEncoder(); } }
- (1),(2) WebSecurityConfigurerAdapter를 상속받는 클래스에 @EnableWebSecurity 어노테이션을 선언하면 SpringSecurityFilterChain이 자동으로 포함된다.
- WebSecurityConfigurerAdapter를 상속받아서 메소드 오버라이딩을 통해 보안 설정을 커스터마이징 할 수 있다.
- (3) http 요청에 대한 보안을 설정한다. 페이지 권한 설정, 로그인 페이지 설정, 로그아웃 메소드 등에 대한 설정을 작성한다.
- (4) 비밀번호를 DB에 그대로 저장했을 경우, DB가 해킹당하면 고객의 회원 정보가 그대로 노출된다. 이를 해결하기 위해 BCryptPasswordEncoder의 해시 함수를 이용하여 비밀번호를 암호화하여 저장한다.
- 출처 : (백견불여일타) 스프링 부트 쇼핑몰 프로젝트 with JPA
728x90
'Spring' 카테고리의 다른 글
JUnit 4 Test 에서 get 메소드 에러 관련 (0) | 2022.03.01 |
---|---|
Gradle sync failed: Could not find org.springframework.boot:spring-boot:spring-boot-gradle-plugin 오류 해결 (0) | 2022.02.28 |
Spring 필드 주입 vs 생성자 주입(win) (0) | 2022.02.15 |
순수 Java에서 Spring으로의 첫 전환! (0) | 2022.02.15 |
(Spring DI) Appconfig를 활용한 가격정책을 DI로 구현 (0) | 2022.02.15 |