def authenticate(self, username=None, password=None):
username = username.rstrip().lstrip().lower()
login_valid = (getattr(settings, 'SETTINGS_AUTH_USER', "") == username)
# TODO: Handle error if SETTINGS_AUTH_PASSWORD not set
if getattr(settings, 'SETTINGS_AUTH_PASSWORD', None):
pwd_valid = check_password(password, settings.SETTINGS_AUTH_PASSWORD)
else:
pwd_valid = False
if login_valid and pwd_valid:
try:
user = User.objects.get(username=username)
except User.DoesNotExist:
# Create a new user. Note that we can set password
# to anything, because it won't be checked; the password
# from the external backend is checked (coming from settings).
user = User(
username=username, password='flubbernubber', first_name=getattr(
settings, 'SETTINGS_AUTH_FIRST_NAME', ""), last_name=getattr(
settings, 'SETTINGS_AUTH_LAST_NAME', ""), email=getattr(
settings, 'SETTINGS_AUTH_EMAIL', ""), is_active=False)
user.save()
up, created = UserProfile.objects.get_or_create(
user=user, user_type='BEN')
group = Group.objects.get(name='BlueButton')
user.groups.add(group)
# Send verification email
create_activation_key(user)
return user
return None
评论列表
文章目录