0
djangoの管理者でユーザーのフィールドを変更して保存しようとすると、ハッシュされたパスワードが真のパスワードになります。ハッシュされたパスワードが本物のパスワードになる
パスワードがこのpbkdf2adhfkhadqeqerqfavghhfybのようにハッシュされ、ユーザーモデルの別のフィールドを変更した場合、このハッシュされたパスワードはハッシュされていないパスワードになります。
私のコードは次のとおりです。
class UserCreationForm(forms.ModelForm):
class Meta:
model = User
fields = ('Email','name','password','is_staff','is_superuser','Teacher',
'Student', 'Data_Joined', 'Is_active')
def save(self, commit=True):
user = super(UserCreationForm, self).save(commit=False)
user.set_password(self.cleaned_data["password"])
if commit:
user.save()
return user
class UserAdmin(admin.ModelAdmin):
form = UserCreationForm
admin.site.register(User, UserAdmin)
私は質問を理解していません。データベースにパスワードハッシュがあると言っていますが、管理ページでレコードを編集すると、何とかパスワードが回復しますか?それは不可能に聞こえる。 – Thilo
はい、それはまさに何が起こっているのですが、私はちょうどこれを解決しました。 – Goun2