회원관리 6. 인증
1 개요편집
게시판 관리자를 지정한다든가, 이런저런 권한을 주기 위한 인증.
2 인증편집
설명 | 코드 | |
---|---|---|
유저 인증 | 인증 정보를 객체에 담는다.
인증에 성공하면 객체에 유저정보가 담기고, 실패하면 None이 담긴다. |
from django.contrib.auth import authenticate
객체 = authenticate(username=name, password=password) |
2.1 기본 인증 종류편집
활성 플래그 : 사용자 활성 상태 여부 - 꺼지면 로그인도 할 수 없다.
스태프 플래그 : 사용자가 관리 인터페이스에 로그인할 수 있는지 여부를 결정한다. 일반 사용자와 관리자를 구분할 때 사용한다.
슈퍼 유저 플래그 : 사용자에게 관리자 인터페이스에서 항목을 추가, 작성, 삭제같은 접근을 할 수 있는 권한을 결정한다. 이 플래그가 켜지면 모든 일반 사용 권한이 무시된다.
3 권한편집
3.1 특수 권한편집
어떤 유저가 특정한 권한을 가졌나 확인하기 위해선 user객체의 has_perm메서드를 사용한다.(제대로 사용하려면 뜯어봐야 할듯.)
user.has_perm('bookmarks.add_tag') 형태로 권한 여부를 확인 가능하다.
('앱이름.기능_모델이름') 형태. 기능엔 add, chage, delete가 있다.
권한이 있는 사람만 뷰를 실행할 수 있께 하기 위해 django.contrib.auth.decoratorts 안의 permission_required 데토레이터를 쓸 수 있다.
@permission_required('앱이름.기능_모델이름', login_url='주소') 형태로도 사용 가능.