def check_password(self, raw_password): """Checks the user's password against a provided password - always use this rather than directly comparing to :attr:`~mongoengine.django.auth.User.password` as the password is hashed before storage. """ return check_password(raw_password, self.password)
def clean_username(self): username = self.data.get('username') raw_password = self.data.get('password') user = DB.user.find_one({'username': username}) if not user: raise forms.ValidationError(u'用户名或密码错误。') user_password = user['password'] if not check_password(raw_password, user_password): raise forms.ValidationError(u'用户名或密码错误。') return username
def test_should_create_default_superuser(self): FakeCommand().handle() self.assertEqual(1, User.objects().count()) user = User.objects().first() user_profile = UserProfile.objects().first() self.assertEqual('admin', user.username) self.assertTrue(check_password('password', user.password)) self.assertNotEqual('password', user.password) self.assertEqual('*****@*****.**', user_profile.email) self.assertEqual(self.kampala, user_profile.location) self.assertEqual('N/A', user_profile.phone) self.assertEqual('Admin', user_profile.name) self.assertEqual('Administrator', user_profile.user.group.name)
def test_should_handle_existing_profile(self): UserProfile(phone='N/A', name='Admin', location=self.kampala, email='*****@*****.**').save() FakeCommand().handle() self.assertEqual(1, User.objects().count()) user = User.objects().first() user_profile = UserProfile.objects().first() self.assertEqual('admin', user.username) self.assertTrue(check_password('password', user.password)) self.assertNotEqual('password', user.password) self.assertEqual('*****@*****.**', user_profile.email) self.assertEqual(self.kampala, user_profile.location) self.assertEqual('N/A', user_profile.phone) self.assertEqual('Admin', user_profile.name) self.assertEqual('Administrator', user_profile.user.group.name)
def test_should_create_super_user_from_args(self): FakeCommand().handle('new_admin', 'new_password', '*****@*****.**', 'NewAdmin', 'Kampala', '1234567890') self.assertEqual(1, User.objects().count()) user = User.objects().first() user_profile = UserProfile.objects().first() self.assertEqual('new_admin', user.username) self.assertTrue(check_password('new_password', user.password)) self.assertNotEqual('new_password', user.password) self.assertEqual('*****@*****.**', user_profile.email) self.assertEqual(self.kampala, user_profile.location) self.assertEqual('1234567890', user_profile.phone) self.assertEqual('NewAdmin', user_profile.name) self.assertEqual('Administrator', user_profile.user.group.name)