Nonamed Develog
[TIL][240920] 트러블 슈팅 본문
문제 상황
회원 등급을 3단계로 나누는 과정에서, is_authenticated 값을 false로 설정하여 특정 등급을 처리하려 했다. 그러나, 이 설정 때문에 모든 사용자가 로그인을 할 수 없게 되어 문제가 발생했다.
원인 분석
is_authenticated는 Django에서 인증된 사용자인지를 판단하는 매우 중요한 필드다. is_authenticated 값이 False로 설정되면 Django는 사용자가 인증되지 않은 것으로 간주하고, 로그인을 할 수 없게 된다. 따라서, 해당 필드를 임의로 수정하는 것은 적절하지 않았다.
해결 방법
is_authenticated 대신, 회원 등급을 처리할 수 있는 별도의 필드 is_master를 새로 추가했다. 이를 통해 사용자의 로그인 여부와 상관없이 회원 등급을 판단할 수 있도록 했다. 이제 회원 등급 로직은 로그인 상태와는 별개로 동작하며, is_authenticated는 Django의 기본 인증 기능으로 유지하게 했다.
배운 점
- Django의 기본 필드 (is_authenticated)는 매우 중요한 역할을 하므로, 임의로 수정하는 것보다는 새로운 필드를 추가하는 방식으로 로직을 처리하는 것이 더 안전하다는 점을 배웠다.
'WHAT I LEARN > TIL' 카테고리의 다른 글
[TIL][240919] Readme에 이미지 올리는 2가지 방법 (0) | 2024.09.19 |
---|---|
[TIL][240914] DRF Permission Class (1) | 2024.09.14 |
[TIL][240912] Pull Request와 Local Merge (1) | 2024.09.13 |
[TIL][240911] 프로젝트 시작, 끝 없는 문서 작성...(SA) (1) | 2024.09.11 |
[TIL][240910] Django와 웹 크롤링 (2) | 2024.09.10 |