auth.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:bluebutton-web-server 作者: CMSgov 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号