私は怒鳴るように拡張するユーザーを作成しています:?はジャンゴで私のデザインユーザーで危険性がある
is_staff = False
is_superuser = False
だから、私が作成したとき:
class User(AbstractUser):
username = models.CharField(max_length=16)
password = models.CharField(max_length=40) # sha1加密
real_name = models.CharField(max_length=12, null=True, blank=True)
phone = models.CharField(max_length=11) # 手机号码
email = models.EmailField(blank=True, null=True)
qq = models.CharField(max_length=10, null=True, blank=True)
address = models.CharField(max_length=64, blank=True, null=True) # 地址
nickname = models.CharField(max_length=16, blank=True, null=True)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
次の2つのフィールドがここにあります見ますAdminUser、リスクがある場合は? ハッカーが使うかもしれないので:
AdminUser(xxxxx, is_staff=True, is_superuser=True, xxx)
スーパーユーザを作成します。または、私のユーザーモデルが間違っているかどうか?
EDIT
AbstractUser
はdjango.contrib.auth.models.AbstractUser
あります。
です。 –
それはそうです。 – maer
**パスワードのsha1を保存しないでください。常に、bcrypt、argon、PBKDF2などの適切なパスワードベースのキー導出関数を使用してください。 Djangoの 'AbstractUser'の場合、単に' user.set_password(raw_password) 'を使用し、' password'フィールドをオーバーライドしないでください。 – knbk