Beispiel #1
0
 def get(self, request, *args, **kwargs):
     if request.user.is_staff:
         return redirect(redirect_user_first_login_or_index(
             request, self.redirect_field_name)
         )
     request.session.set_test_cookie()
     return super().get(request, *args, **kwargs)
Beispiel #2
0
 def get(self, request, *args, **kwargs):
     if request.user.is_staff:
         return redirect(
             redirect_user_first_login_or_index(request,
                                                self.redirect_field_name))
     request.session.set_test_cookie()
     return super().get(request, *args, **kwargs)
Beispiel #3
0
 def get_success_url(self):
     """ 获取成功跳转的url """
     user = get_user_or_tmp_user(self.request)
     auth_login(self.request, user)
     data = {'username': self.request.user.username, 'status': True}
     self.write_login_log(data)
     return redirect_user_first_login_or_index(self.request,
                                               self.redirect_field_name)
Beispiel #4
0
 def get(self, request, *args, **kwargs):
     if request.user.is_staff:
         first_login_url = redirect_user_first_login_or_index(
             request, self.redirect_field_name)
         return redirect(first_login_url)
     redirect_url = self.redirect_third_party_auth_if_need(request)
     if redirect_url:
         return redirect(redirect_url)
     request.session.set_test_cookie()
     return super().get(request, *args, **kwargs)
Beispiel #5
0
 def get(self, request, *args, **kwargs):
     if request.user.is_staff:
         return redirect(
             redirect_user_first_login_or_index(request,
                                                self.redirect_field_name))
     # show jumpserver login page if request http://{JUMP-SERVER}/?admin=1
     if settings.AUTH_OPENID and not self.request.GET.get('admin', 0):
         query_string = request.GET.urlencode()
         login_url = "{}?{}".format(settings.LOGIN_URL, query_string)
         return redirect(login_url)
     request.session.set_test_cookie()
     return super().get(request, *args, **kwargs)
Beispiel #6
0
 def get(self, request, *args, **kwargs):
     if request.user.is_staff:
         return redirect(redirect_user_first_login_or_index(
             request, self.redirect_field_name)
         )
     # show jumpserver login page if request http://{JUMP-SERVER}/?admin=1
     if settings.AUTH_OPENID and not self.request.GET.get('admin', 0):
         query_string = request.GET.urlencode()
         login_url = "{}?{}".format(settings.LOGIN_URL, query_string)
         return redirect(login_url)
     request.session.set_test_cookie()
     return super().get(request, *args, **kwargs)
Beispiel #7
0
    def get_success_url(self):
        user = get_user_or_tmp_user(self.request)

        if user.otp_enabled and user.otp_secret_key:
            # 1,2,mfa_setting & T
            return reverse('authentication:login-otp')
        elif user.otp_enabled and not user.otp_secret_key:
            # 1,2,mfa_setting & F
            return reverse('users:user-otp-enable-authentication')
        elif not user.otp_enabled:
            # 0 & T,F
            auth_login(self.request, user)
            self.send_auth_signal(success=True, user=user)
            return redirect_user_first_login_or_index(self.request, self.redirect_field_name)
Beispiel #8
0
    def get_success_url(self):
        user = get_user_or_tmp_user(self.request)

        if user.otp_enabled and user.otp_secret_key:
            # 1,2,mfa_setting & T
            return reverse('authentication:login-otp')
        elif user.otp_enabled and not user.otp_secret_key:
            # 1,2,mfa_setting & F
            return reverse('users:user-otp-enable-authentication')
        elif not user.otp_enabled:
            # 0 & T,F
            auth_login(self.request, user)
            self.send_auth_signal(success=True, user=user)
            return redirect_user_first_login_or_index(self.request, self.redirect_field_name)
Beispiel #9
0
 def get_redirect_url(self, *args, **kwargs):
     try:
         user = self.check_user_auth_if_need()
         self.check_user_mfa_if_need(user)
         self.check_user_login_confirm_if_need(user)
     except (errors.CredentialError, errors.SessionEmptyError):
         return self.format_redirect_url(self.login_url)
     except errors.MFARequiredError:
         return self.format_redirect_url(self.login_otp_url)
     except errors.LoginConfirmBaseError:
         return self.format_redirect_url(self.login_confirm_url)
     except errors.MFAUnsetError as e:
         return e.url
     else:
         auth_login(self.request, user)
         self.send_auth_signal(success=True, user=user)
         self.clear_auth_mark()
         url = redirect_user_first_login_or_index(self.request,
                                                  self.redirect_field_name)
         return url
Beispiel #10
0
 def get_redirect_url(self, *args, **kwargs):
     try:
         user = self.check_user_auth_if_need()
         self.check_user_mfa_if_need(user)
         self.check_user_login_confirm_if_need(user)
     except errors.CredentialError:
         return self.format_redirect_url(self.login_url)
     except errors.MFARequiredError:
         return self.format_redirect_url(self.login_otp_url)
     except errors.LoginConfirmBaseError:
         return self.format_redirect_url(self.login_confirm_url)
     else:
         # 启用但是没有设置otp, 排除radius
         if user.mfa_enabled_but_not_set():
             # 1,2,mfa_setting & F
             set_tmp_user_to_cache(self.request, user)
             return reverse('users:user-otp-enable-authentication')
         auth_login(self.request, user)
         self.send_auth_signal(success=True, user=user)
         self.clear_auth_mark()
         url = redirect_user_first_login_or_index(self.request,
                                                  self.redirect_field_name)
         return url
Beispiel #11
0
 def get_success_url(self):
     return redirect_user_first_login_or_index(self.request,
                                               self.redirect_field_name)
Beispiel #12
0
 def get_success_url(self):
     return redirect_user_first_login_or_index(self.request, self.redirect_field_name)
Beispiel #13
0
 def get_success_url(self):
     user = get_user_or_tmp_user(self.request)
     auth_login(self.request, user)
     return redirect_user_first_login_or_index(self.request,
                                               self.redirect_field_name)