"회원관리 6. 인증"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
 
2번째 줄: 2번째 줄:
 
게시판 관리자를 지정한다든가, 이런저런 권한을 주기 위한 인증.
 
게시판 관리자를 지정한다든가, 이런저런 권한을 주기 위한 인증.
  
 +
= 인증 =
 +
{| class="wikitable"
 +
!
 +
!설명
 +
!코드
 +
|-
 +
|유저 인증
 +
|인증 정보를 객체에 담는다.
 +
인증에 성공하면 객체에 유저정보가 담기고, 실패하면 None이 담긴다.
 +
|from django.contrib.auth import authenticate
 +
객체 = authenticate(username=name, password=password)
 +
|}
 
== 기본 인증 종류 ==
 
== 기본 인증 종류 ==
 
활성 플래그 : 사용자 활성 상태 여부 - 꺼지면 로그인도 할 수 없다.
 
활성 플래그 : 사용자 활성 상태 여부 - 꺼지면 로그인도 할 수 없다.
8번째 줄: 20번째 줄:
  
 
슈퍼 유저 플래그 : 사용자에게 관리자 인터페이스에서 항목을 추가, 작성, 삭제같은 접근을 할 수 있는 권한을 결정한다. 이 플래그가 켜지면 모든 일반 사용 권한이 무시된다.
 
슈퍼 유저 플래그 : 사용자에게 관리자 인터페이스에서 항목을 추가, 작성, 삭제같은 접근을 할 수 있는 권한을 결정한다. 이 플래그가 켜지면 모든 일반 사용 권한이 무시된다.
 +
 +
= 권한 =
  
 
== 특수 권한 ==
 
== 특수 권한 ==

2022년 12월 14일 (수) 09:40 기준 최신판

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='주소') 형태로도 사용 가능.