Authentication (인증)

- 신원 확인

- 사용자가 자신이 누구인지 확인하는 것

 

 

Authorization (권한, 허가)

- 권한 부여

- 인증된 사용자가 수행할 수 있는 작업을 결정

 

 

 

AbstractUser

관리자 권한과 함께 완전한 기능을 가지고 있는 User model을 구현하는 추상 기본 클래스(몇가지 공통 정보를 여러 다른 모델에 넣을 때 사용하는 클래스)

 

 

1. 사전 설정

settings.py의 INSTALLED_APPS에 accounts를 추가한다.

auth와 관련된 경로, 키워드를 django 내부적으로 accounts 이름으로 사용하고 있기 때문에 그대로 사용하는 것이 좋다.

accounts/urls.py 에 app_name을 설정하고, 프로젝트/urls.py에 url 매핑한다.

 

 

2. User model

class User(AbstactUser):
	pass

accounts/models.py에 AbstractUser 를 상속받아 User 클래스를 작성한다.

 

 

AUTH_USER_MODEL='accounts.User'

settings.py의 AUTH_USER_MODEL = 'accounts.User' 으로 생성한 커스텀 User 모델을 django 프로젝트에서 유저를 나타내는데 사용하도록 지정한다.

프로젝트 처음에 진행해야 한다. 

 

admin.site.register(User, UserAdmin)

accounts/admin.py에 커스텀 User모델을 등록한다.

 

 

3. 데이터베이스

makemigrations, migrate 진행한다.

 

python manage.py makemigrations
python manage.py migrate