Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

Nonamed Develog

[TIL][240920] 트러블 슈팅 본문

WHAT I LEARN/TIL

[TIL][240920] 트러블 슈팅

노네임드개발자 2024. 9. 23. 10:33

문제 상황

회원 등급을 3단계로 나누는 과정에서, is_authenticated 값을 false로 설정하여 특정 등급을 처리하려 했다. 그러나, 이 설정 때문에 모든 사용자가 로그인을 할 수 없게 되어 문제가 발생했다.

원인 분석

is_authenticated는 Django에서 인증된 사용자인지를 판단하는 매우 중요한 필드다. is_authenticated 값이 False로 설정되면 Django는 사용자가 인증되지 않은 것으로 간주하고, 로그인을 할 수 없게 된다. 따라서, 해당 필드를 임의로 수정하는 것은 적절하지 않았다.

해결 방법

is_authenticated 대신, 회원 등급을 처리할 수 있는 별도의 필드 is_master를 새로 추가했다. 이를 통해 사용자의 로그인 여부와 상관없이 회원 등급을 판단할 수 있도록 했다. 이제 회원 등급 로직은 로그인 상태와는 별개로 동작하며, is_authenticated는 Django의 기본 인증 기능으로 유지하게 했다.

배운 점

  • Django의 기본 필드 (is_authenticated)는 매우 중요한 역할을 하므로, 임의로 수정하는 것보다는 새로운 필드를 추가하는 방식으로 로직을 처리하는 것이 더 안전하다는 점을 배웠다.