我正在创建扩展用户,如下所示:
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)
你看到这里有两个字段:
is_staff = False
is_superuser = False
那么,当我创建AdminUser时,是否存在风险? 因为黑客可能会使用:
AdminUser(xxxxx, is_staff=True, is_superuser=True, xxx)
创建超级用户。或者我的用户模型是否完全错误?
修改
AbstractUser
为django.contrib.auth.models.AbstractUser
。
答案 0 :(得分:0)
您不必从头开始创建用户模型。 You can extend django's User model to add the additional fields you want.这是推荐的方式。
而且,创建超级用户(读作admin-user)的推荐方法是using django-admin