Naming & Security
1. Springboot jpa & Hibernate Naming Strategy (네이밍 전략)
local에서 jpa.hibernate.ddl-auto
를 create
로 설정해놨는데
자동 생성된 테이블의 컬럼명을 보니 snake_case로 생성되어 있었다..
- application.yml
spring: jpa: hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
위 설정을 해주면 Entity 클래스의 변수명과 동일하게 생성된다.
2. Spring Security
회원가입 시 이메일 인증으로 사용자 인증을 하고 인증 완료 여부를 Role로 구분하려고 spring 표준 권한을 찾아봤다.
스프링에서 제공하는 기본 권한(Authority)
- ROLE_ANONYMOUS : 모든 사용자
- IS_AUTHENTICATED_ANONYMOUSLY : 익명 사용자
- IS_AUTHENTICATED_FULLY : 인증된 사용자
- IS_AUTHENTICATED_REMEMBERED : REMEMBERED 사용자
- ROLE_RESTRICTED : 제한된 사용자
- ROLE_USER : 일반 사용자
- ROLE_ADMIN : 관리자
이번 프로젝트에서 미인증 사용자는 ROLE_RESTRICTED
로
인증 완료 사용자는 IS_AUTHENTICATED_FULLY
로 설정하기로 했다.