스프링 시큐리티 의존성 설정
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
스프링 시큐리티가 제공하는 자동 설정이 적용된다.
적용 전의 문제
- 인증할 방법이 없었다
- 현재 사용자가 누군지 알 수가 없다
자동 설정( 스프링 시큐리티 의존성을 추가하게 되면)
- 모든 요청은 인증을 필요로 한다 - 위와 같은 로그인 폼으로 리다이렉트
- 기본 유저가 생성된다
- username: user
- password: 로그 확인
@GetMapping("/")
public String index(Model model, Principal principal) {
if (principal == null) {
model.addAttribute("message", "Hello Spring Security");
} else {
model.addAttribute("message", "Hello, " + principal.getName());
}
return "index";
}
적용 후
- 인증을 할 수 있다
- 현재 사용자 정보를 알 수 있다.
- 적용 전엔 Principal == null이어서 Hello Spring Security만 노출되었지만 이제는 로그인 후에 Hello, user 가 노출됨을 알 수 있다
현재 문제점
- 유저가 단 하나 user만 존재한다
- 패스워드가 어플리케이션 재시작시 변경된다
- 패스워드가 로그에 출력되는건 보안문제가 있다 (로그엔 보안관련 정보는 출력X)
'스터디-Spring' 카테고리의 다른 글
[스프링 시큐리티] 스프링 시큐리티 커스터마이징 - JPA 연동 (0) | 2022.01.07 |
---|---|
[스프링 시큐리티] 스프링 시큐리티 커스터마이징 - 인메모리 유저 추가 (0) | 2022.01.07 |
[스프링 시큐리티] 스프링 시큐리티 설정하기 (0) | 2022.01.07 |
[스프링 핵심 원리 - 기본편] 컴포넌트 스캔과 자동 의존관계 설정 (0) | 2022.01.03 |
[스프링 핵심 원리 - 기본편] 스프링이란? (0) | 2021.12.28 |