새 사용자를 만드는 동안 django 사용자 암호가 암호화되지 않는 이유는 무엇입니까?

art_cs

AbstractUser클래스로 내 사용자 정의 사용자 모델을 만들려고합니다.

class CustomUser(AbstractUser):
    is_student = models.BooleanField(default=False)
    is_teacher = models.BooleanField(default=False)

    def __str__(self):
        return self.username

class Student(models.Model):
    user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)

    def __str__(self):
        return self.user.username

하지만 새 계정을 만들 때 암호 필드가 암호화되지 않을 경우 일반 텍스트 만 표시됩니다! 나는 내가 사용해야한다고 생각 BaseUserManager하지만 나는 그것을 감사 할 생각이 없다, 안부 ..

스크린 샷

사단 A.

새로운 사용자를 어떻게 생성하고 있는지 정확히 모르기 때문에 제 생각에는 다음과 같은 작업을하고있는 것 같습니다.

user = CustomUser.objects.create(username="boohoo", email="[email protected]", password="boohoopass")

이 사용자 개체는 암호를 일반 텍스트로 저장합니다. 장고는 자동으로 당신이라는 방법을 찾을 깊이 파고 아닌 경우 해시 값으로 텍스트로 변환하지 않습니다 make_password또는 방법이있어 AbstractUser, set_password기본적으로 해시 값을 문자열로 변환합니다. 따라서 사용자를 만들 때 다음 방법 중 하나를 사용하십시오.

user = CustomUser.objects.create(username="boohoo", email="[email protected]")

user.passowrd = make_password("boohoopass")

# or 

user.set_password("boohoopass")

더 나은 접근 방식은 자동으로이 작업을 수행 하는 UserManager, 의 메서드를 사용하는 create_user것입니다.

user = CustomUser.objects.create_user(username="boohoo", email="[email protected]", password="boohoopass")

업데이트 귀하의 경우 관리자 클래스도 UserAdmindjango에서 상속해야합니다 . 사용자 관리자는 암호 해시 키와 같은 것을 만들기 위해 특정 기능도 호출하기 때문입니다.

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as OrigUserAdmin


@admin.register(CustomUser)
class CustomUserAdmin(OrigUserAdmin):
    list_display = (
        'id', 'first_name', 'last_name', 'username', 'email', 'is_active'
    )

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Tastypie에서 새 사용자를 만들 때 암호가 데이터베이스에 기록되지 않는 이유는 무엇입니까?

분류에서Dev

암호없이 새 사용자를 추가하지만 비활성화되지는 않음

분류에서Dev

Shell : 다른 사용자와 동일한 암호로 사용자를 만드는 방법은 무엇입니까?

분류에서Dev

사용자 암호를 변경하는 usermod가 작동하지 않습니다.

분류에서Dev

새 사용자를 만들 때 홈 디렉터리가 생성되지 않는 이유는 무엇입니까?

분류에서Dev

암호가 keystone의 암호 테이블에 저장되는지 여부와있는 경우 암호가 사용자 암호를 어떻게 매핑합니까?

분류에서Dev

su-사용자는 암호가없는 사용자를 위해 작동하지 않습니다.

분류에서Dev

왜 카이사르의 암호화 문제는 실행되지되지 않는 이유는 무엇입니까?

분류에서Dev

암호가 저장되지 않았는데도 크롬을 사용할 때 kde가 계속 암호를 묻는 이유는 무엇입니까?

분류에서Dev

Yakuake에서 Nano를 사용하는 동안 _ 문자가 보이지 않는 이유는 무엇입니까?

분류에서Dev

Django가 새 사용자를 만들 때 이메일 무결성을 확인하지 않는 이유는 무엇입니까?

분류에서Dev

사용자 정의 serialVersionUID가 desialization 동안 사용되지 않는 이유는 무엇입니까?

분류에서Dev

내 Django 비밀번호가 암호화되지 않는 이유는 무엇입니까?

분류에서Dev

ssh-agent가 나중에 사용하기 위해 암호화되지 않은 키를 저장하지 않는 이유는 무엇입니까?

분류에서Dev

우분투에서 새 사용자를 만들 때 기본 암호는 무엇입니까?

분류에서Dev

사용자 암호를 묻는 동안 Ubuntu 터미널이 키보드 입력을받지 않음

분류에서Dev

암호를 업데이트하지 않는 경우 사용자 업데이트 중에 "암호는 비워 둘 수 없습니다"라는 메시지가 표시되는 이유는 무엇입니까 ( 'has_secure_password'가 포함 된 레일 4)?

분류에서Dev

sudo가 기본적으로 실행 한 사용자의 암호를 묻는 이유는 무엇입니까?

분류에서Dev

자체 암호화 드라이브 (SED)가 실제로 암호화되었는지 확인하는 방법은 무엇입니까?

분류에서Dev

VISUDO : 암호없는 sudo가 사용자에게 작동하지 않습니다.

분류에서Dev

xrdp 세션 관리자가 사용자 암호 로그인 프롬프트를 표시하지 않는 이유는 무엇입니까?

분류에서Dev

즉시 호출되는 함수를 사용하여 새 개체를 만드는 이유는 무엇입니까?

분류에서Dev

Samba가 "samba-tool"로 새 사용자를 추가하지 않는 이유는 무엇입니까?

분류에서Dev

Samba가 "samba-tool"로 새 사용자를 추가하지 않는 이유는 무엇입니까?

분류에서Dev

Django의 기본 인증에 사용되는 사용자 암호의 암호화 / 복호화

분류에서Dev

PHPMyAdmin 로그인 페이지에 사용자 로그인 / 암호 필드가 아닌 미친 텍스트가 표시되는 이유는 무엇입니까?

분류에서Dev

Linux에서 암호가없는 사용자 계정의 보안 의미는 무엇입니까?

분류에서Dev

Angular4-사용자 정의 toJSON ()이 새 객체에서만 호출되는 이유는 무엇입니까?

분류에서Dev

명령 줄에서 SuSE에 지정된 암호로 사용자를 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Tastypie에서 새 사용자를 만들 때 암호가 데이터베이스에 기록되지 않는 이유는 무엇입니까?

  2. 2

    암호없이 새 사용자를 추가하지만 비활성화되지는 않음

  3. 3

    Shell : 다른 사용자와 동일한 암호로 사용자를 만드는 방법은 무엇입니까?

  4. 4

    사용자 암호를 변경하는 usermod가 작동하지 않습니다.

  5. 5

    새 사용자를 만들 때 홈 디렉터리가 생성되지 않는 이유는 무엇입니까?

  6. 6

    암호가 keystone의 암호 테이블에 저장되는지 여부와있는 경우 암호가 사용자 암호를 어떻게 매핑합니까?

  7. 7

    su-사용자는 암호가없는 사용자를 위해 작동하지 않습니다.

  8. 8

    왜 카이사르의 암호화 문제는 실행되지되지 않는 이유는 무엇입니까?

  9. 9

    암호가 저장되지 않았는데도 크롬을 사용할 때 kde가 계속 암호를 묻는 이유는 무엇입니까?

  10. 10

    Yakuake에서 Nano를 사용하는 동안 _ 문자가 보이지 않는 이유는 무엇입니까?

  11. 11

    Django가 새 사용자를 만들 때 이메일 무결성을 확인하지 않는 이유는 무엇입니까?

  12. 12

    사용자 정의 serialVersionUID가 desialization 동안 사용되지 않는 이유는 무엇입니까?

  13. 13

    내 Django 비밀번호가 암호화되지 않는 이유는 무엇입니까?

  14. 14

    ssh-agent가 나중에 사용하기 위해 암호화되지 않은 키를 저장하지 않는 이유는 무엇입니까?

  15. 15

    우분투에서 새 사용자를 만들 때 기본 암호는 무엇입니까?

  16. 16

    사용자 암호를 묻는 동안 Ubuntu 터미널이 키보드 입력을받지 않음

  17. 17

    암호를 업데이트하지 않는 경우 사용자 업데이트 중에 "암호는 비워 둘 수 없습니다"라는 메시지가 표시되는 이유는 무엇입니까 ( 'has_secure_password'가 포함 된 레일 4)?

  18. 18

    sudo가 기본적으로 실행 한 사용자의 암호를 묻는 이유는 무엇입니까?

  19. 19

    자체 암호화 드라이브 (SED)가 실제로 암호화되었는지 확인하는 방법은 무엇입니까?

  20. 20

    VISUDO : 암호없는 sudo가 사용자에게 작동하지 않습니다.

  21. 21

    xrdp 세션 관리자가 사용자 암호 로그인 프롬프트를 표시하지 않는 이유는 무엇입니까?

  22. 22

    즉시 호출되는 함수를 사용하여 새 개체를 만드는 이유는 무엇입니까?

  23. 23

    Samba가 "samba-tool"로 새 사용자를 추가하지 않는 이유는 무엇입니까?

  24. 24

    Samba가 "samba-tool"로 새 사용자를 추가하지 않는 이유는 무엇입니까?

  25. 25

    Django의 기본 인증에 사용되는 사용자 암호의 암호화 / 복호화

  26. 26

    PHPMyAdmin 로그인 페이지에 사용자 로그인 / 암호 필드가 아닌 미친 텍스트가 표시되는 이유는 무엇입니까?

  27. 27

    Linux에서 암호가없는 사용자 계정의 보안 의미는 무엇입니까?

  28. 28

    Angular4-사용자 정의 toJSON ()이 새 객체에서만 호출되는 이유는 무엇입니까?

  29. 29

    명령 줄에서 SuSE에 지정된 암호로 사용자를 만드는 방법은 무엇입니까?

뜨겁다태그

보관