Spring Security는 방대하다. Security에 대한 이해가 있어야 견고한 서버를 구축할 수 있다.
시큐리티를 이해하는 프로젝트를 진행해보자.
프로젝트 세부정보
Base Project
Spring Security in Action chapter 6의 프로젝트
Version
JDK: Oracle 17
Spring ver: 3.1
Database
mysql
dependency 설정
- spring-web
- jpa
- jdbc
- security
- lombok
- mysql driver
- thymeleaf
mysql 연동
mysql 연동을 위한 application.properties
https://github.com/dbwp031/spring-security-study/commit/900e65af5c4994ea63f707ea75f923fa18da3c10
(주의, 이후 코드에서 수정된 곳 존재)
세팅 후에 시작하면 저렇게 로그인하라고 잘 뜬다.
아무것도 안했는데 시큐리티가 알아서 잘 로그인 페이지를 만들어준다.
로그인해보려면 아래처럼 개발용 패스워드를 입력하면 된다. 이때 Username은 user이다.
로그인하고 나면 아무것도 없으니까 404가 뜬 것을 확인할 수 있다.
엔티티 추가 & mySQL 정상 동작 확인
code: https://github.com/dbwp031/spring-security-study/commit/176e359f1bee9f7c192411fa8724a5422b7ff574
(주의, 이후 코드에서 수정된 곳 존재)
프로젝트를 위한 Member, Product, Authority 엔티티를 추가하였다.
data.sql, schema.sql을 작성해서 매 실행마다 table을 만들고 (테스트용) 데이터를 넣어주도록 했다.
workbench를 통해 확인하면 잘 작동하는 것을 알 수 있다.
기본 설정 마무리 (repository, service, controller ... 설정)
code: https://github.com/dbwp031/spring-security-study/commit/b4f859f75118c333d7747414a51594991be789e0
'Develop > Spring' 카테고리의 다른 글
[Spring] Entity Class와 OOP (0) | 2023.10.09 |
---|---|
[Spring] Exception (예외) 처리 (0) | 2023.10.06 |
[Spring] Dispatcher Servlet 세부 동작 분석 (0) | 2023.09.12 |
[Spring] WS, WAS, Web Container, Servlet Container (0) | 2023.09.09 |
[Spring] Servlet관련 기본 개념 (0) | 2023.05.31 |