반응형
오늘은 사용자 계정의 상태를 나타내는 4가지 boolean 타입 (isAccountNonExpired, isAccountNonLocked, isCredentialsNonExpired, isEnabled)과 각 상태의 차이점을 패스워드 만료 포함하여 정리해보겠습니다.
1. 계정 만료 (isAccountNonExpired):
- 설명: 계정의 유효 기간이 지났는지를 나타냅니다.
- 예시: 회사 정책상 계정이 1년 동안만 유효한 경우, 1년이 지나면 계정이 만료됩니다. 만료된 계정으로는 로그인할 수 없습니다.
- 사용 시나리오: 계정의 유효 기간을 제한하여 일정 기간 후 계정을 비활성화할 필요가 있을 때 사용됩니다.
2. 계정 잠김 (isAccountNonLocked):
- 설명: 계정이 잠겨 있지 않음을 나타냅니다.
- 예시: 사용자가 여러 번 잘못된 비밀번호를 입력하면 보안상 계정이 잠길 수 있습니다. 잠긴 계정은 일정 시간이 지나거나 관리자가 해제할 때까지 로그인이 차단됩니다.
- 사용 시나리오: 비정상적인 로그인 시도를 감지하여 계정 보안을 강화할 때 사용됩니다.
3. 비밀번호 만료 (isCredentialsNonExpired):
- 설명: 비밀번호 등 인증 정보가 만료되지 않았는지를 나타냅니다.
- 예시: 사용자의 비밀번호가 6개월마다 변경되도록 설정된 경우, 6개월이 지나면 비밀번호가 만료됩니다. 만료된 비밀번호로는 로그인이 불가능합니다.
- 사용 시나리오: 일정 주기마다 비밀번호를 변경하도록 강제하여 보안을 유지할 필요가 있을 때 사용됩니다.
4. 계정 활성화 (isEnabled):
- 설명: 계정이 활성 상태인지 여부를 나타냅니다.
- 예시: 사용자가 오랜 기간 동안 로그인을 하지 않거나, 관리자가 계정을 비활성화한 경우 비활성화된 계정으로는 로그인할 수 없습니다.
- 사용 시나리오: 사용자가 서비스를 더 이상 사용하지 않거나 일시적으로 접근을 차단할 필요가 있을 때 사용됩니다.
5. 차이점 요약:
상태 | 설명 | 예시 | 사용 시나리오 |
계정 만료 | 계정의 유효 기간이 지났는지 확인 | 일정 기간 후 만료되는 계정 | 계정의 유효 기간 제한 |
계정 잠김 | 여러 번 잘못된 로그인 시도 후 잠김 | 비밀번호 입력 오류로 계정 잠김 | 비정상 로그인 시도 감지 및 보안 강화 |
비밀번호 만료 | 비밀번호 등 인증 정보가 만료되지 않았는지 | 주기적인 비밀번호 변경 필요 | 주기적인 비밀번호 변경을 통한 보안 유지 |
계정 활성화 | 계정이 활성 상태인지 확인 | 오래된 계정 또는 관리자에 의해 비활성화 | 서비스를 더 이상 사용하지 않는 계정 |
이렇게 각 상태의 의미와 차이점을 이해하시면, Spring Security에서 사용자 계정의 다양한 상태를 보다 효과적으로 관리할 수 있습니다.
'Java & Spring' 카테고리의 다른 글
Spring Security6 - OAuth2 Authorization Server 삽질일기 (1편: OAuth2&CustomUser) (2) | 2024.12.06 |
---|---|
Spring CSRF - Thymeleaf와 Fetch API (0) | 2024.11.26 |
Spring Security - csrf는 무엇이며, 왜 disable하는 경우가 많은가? (0) | 2024.10.06 |
짧게 배워보는 취미 개발 로드맵 (1) - 서론 (0) | 2024.01.03 |
JS는 Template Literal, python은 f-string, 그럼 Java는? (0) | 2023.03.28 |