2024. 4. 1. 16:07ㆍWeb, Django, DB
- 회원 가입
User 객체를 Create 하는 과정
- UserCreationForm( )
회원 가입시 사용자 입력 데이터를 받는
built-in ModelForm
→ UserCreationForm 과 UserChangeForm 은 class Meta : model = User 로 기존 유저 모델을 사용하는 내장 폼이기 때문에 대체한 유저 모델로 커스텀을 해주어야 사용할 수 있다.
- get_user_model( )
현재 프로젝트에서 활성화된 사용자 모델을 반환하는 함수
→ get_user_model 을 사용하면 자동으로 커스텀 User 모델을 반환해주므로 User 모델을 직접 참조하지 않는다.
- 회원 탈퇴
User 객체를 Delete 하는 과정
- 회원정보 수정
User 객체를 Update 하는 과정
- UserChangeForm( )
회원정보 수정 시 사용자 입력 데이터를 받는 built-in ModelForm
→ User 모델의 모든 정보들(fields)까지 출력되기 때문에 일반 사용자들이 접근해선 안되는 정보를 차단하기 위하여 CustomUserChangeForm 에서 접근 가능한 필드를 조정해야 한다.
- 비밀번호 변경
인증된 사용자의 Session 데이터를 Update 하는 과정
- PasswordChangeForm( )
비밀번호 변경 시 사용자 입력 데이터를 받는 built-in Form
- update_session_auth_hash(request, user)
암호 변경 시 세션 무효화를 막아주는 함수
→ 암호가 변경되면 새로운 password의 Session Data로 기존 session을 자동으로 갱신한다.
원래 비밀번호가 변경되면 기존 세션과의 회원 인증 정보가 일치하지 않게 되어 로그인 상태가 유지되지 못한다.
- 로그인 사용자에 대해 접근을 제한하는 방법
- is_authenticated 속성 (attribute)
- login_required 데코레이터 (decorator)
- is_authenticated
사용자가 인증되었는지 여부를 알 수 있는 User model 의 속성
→ 모든 User 인스턴스에 대해 항상 True인 읽기 전용 속성이며, 비인증 사용자에 대해서만 False이다.
- login_required
인증된 사용자에 대해서만 view 함수를 실행시키는 데코레이터
'Web, Django, DB' 카테고리의 다른 글
DB : Many to one relationships (0) | 2024.04.03 |
---|---|
SQL (0) | 2024.04.02 |
Django : Authentication system (0) | 2024.04.01 |
Django : Static (0) | 2024.04.01 |
Django : Form (0) | 2024.04.01 |