인증 모듈 기능

인증 모듈 :

당신이 인증 모듈을 사용하려는 경우, 당신은 전체 세트를 사용할 수 있습니다

createsuperuser 장고 관리자 백엔드 관리를 착륙 슈퍼 유저 권한을 가질 수 있습니다 슈퍼 사용자를 생성

장고 인증 모듈이 내장되어 사용자 인증 모듈 :

우리는 사이트 사용자의 시스템을 달성하기 위해 웹 사이트를 디자인하는 불가피한 필요성을 개발하고있다. 우리는, 사용자 등록, 사용자 로그인, 사용자 인증을 포함, 달성 로그 오프, 암호 및 기타 기능을 변경해야 할이 시점에서,이 정말 아직 귀찮은 일이다.

장고는 궁극적 인 완벽을위한 프레임 워크로, 물론, 이러한 고충 사용자의 생각합니다. 그것은 사용자 데이터를 저장하는 테이블을 AUTH_USER하는 강력한 사용자 인증 시스템 --auth, 기본값을 만들었습니다.

사용자 기능 모듈과 관련 
                ... 암호를 변경하려면 사용자 등록 로그인 인증 
            
            사용자 테이블과 관련된 auth_user와 테이블을 많이 생성 할 데이터베이스 이주 명령을 실행 한 후에 
            데이터를 추가 할 
                슈퍼 유저 로그인 장고 관리자가 할 수있는 슈퍼 사용자를 생성 createsuperuser을 권한 관리 배경

인증 모듈에있어서 공통된

에서 django.contrib의 수입 인증

쿼리 사용

에서 django.contrib의 가져 오기 인증 
USER_OBJ = auth.authenticate (사용자 이름 = 사용자 이름, 암호 = 암호   #은 데이터베이스의 암호 필드는 암호문이기 때문에 사용하면 사용자 입력이 일반 텍스트입니다 얻을해야

기록 사용자 상태

auth.login (요청, USER_OBJ)   #의 세션에서 사용자 상태 기록

사용자가 로그온되어 있는지 확인

인쇄 (request.user.is_authenticated)   #은 사용자가 로그인 한 경우 사용자가 False를 반환입니다 결정

일단 사용자 개체에 액세스 할 수 로그인

인쇄 (request.user)   # 더 auth.login는 익명의 사용자를 가지고하지 않는 경우

사용자가 로그인되어 있는지 확인

에서 django.contrib.auth.decorators 가져 오기   login_required 

@login_required (LOGIN_URL = ' / XXX / ' )   # 로컬 구성 

DEF의 인덱스 (요청) 

    에 전달 

# 글로벌 구성 설정 파일 

LOGIN_URL = ' / XXX / '

암호가 올바른지 확인

request.user.check_password (OLD_PASSWORD)

암호 변경

request.user.set_password (여기서 new_password) 

request.user.save ()   #은 우리가 발효 저장 저장하거나 안 할 때 암호를 변경

상륙에서

auth.logout (요청)   #의 request.session.flush ()

등록 된 사용자

User.objects.create (사용자 이름 = 사용자 이름, 암호 = 암호)   #은 사용자 이름을 만든 다음 생성하지 않는 시간을 사용 

User.objects.create_user (사용자 이름 = 사용자 이름, 암호 = 암호)   #은 일반 사용자 만들기 

User.objects.create_superuser을 (사용자 이름 = 사용자 이름, 암호 = 비밀번호, 이메일 = ' [email protected] ' )   #은 슈퍼 사용자의 이메일을 작성 (필수)

사용자 정의 AUTH_USER 테이블

첫 번째는 하나의 관계로 하나를 사용하여 고려하지 않는다

두 번째 : 사용 클래스는 상속

구성 파일에 장고를 알려주십시오

 정식 기본 테이블을 사용 장고가 더 이상 ORM에게 없지만, 사용자 정의 테이블을 사용

구성 파일 setting.py에서

= AUTH_USER_MODEL ' app01.Userinfo '   # '응용 프로그램 이름. 클래스 이름'

클래스 상속을 사용하여

 
 
django.contrib.auth.models 수입에서 AbstractUser
클래스 사용자 정보 (AbstractUser) : 

#는 단지 혁신 반복 할 수있는 테이블의 원래 필드를 수행하지 마십시오 

전화 = models.BigIntegerField () 

아바타 = models.CharField (MAX_LENGTH = 32)

마지막으로, 데이터베이스 이주 명령을 수행

모든 인증 모듈 기능은 모든 오히려 AUTH_USER를 사용하는 것보다, 생성 한 테이블을 기반으로

 

추천

출처www.cnblogs.com/xiongying4/p/11588108.html