Пример #1
0
def login(request):
    erro = False
    if request.method == 'POST':
        formulario = AuthenticationForm(request.POST)
        nome = request.POST['username']
        senha = request.POST['password']
        user = authenticate(username=nome, password=senha)
        if user is not None:
            if user.is_active:
                auth(request, user)
                request.session['admin_permissao'] = True if user.has_perm(
                    'change_user') else False
                return redirect('index')
        else:
            erro = True
            return render(request, 'registration/login.html', {
                'form': formulario,
                'erro': erro
            })
    else:
        erro = False
        formulario = AuthenticationForm()
    return render(request, 'registration/login.html', {
        'form': formulario,
        'erro': erro
    })
Пример #2
0
def login(request):
    form = AuthenticationForm(None, request.POST)
    if request.method == "POST" and request.user.is_anonymous:
        if form.is_valid():
            auth(request, form.get_user())
            return JsonResponse({'success': True})
    errors = form.errors.get_json_data()
    return JsonResponse(errors)
Пример #3
0
def login(request):
    view_data = {}
    view_data['users'] = User.objects.order_by('-last_login')

    login_form = DeejAuthForm(data=(request.POST or None))
    if request.method == "POST" and login_form.is_valid():
        auth(request, login_form.get_user())
        return HttpResponseRedirect('/')

    return render(request, 'deej.login.html', {'login_form': login_form, 'view_data': view_data, })
Пример #4
0
def login(request):
    logout(request)
    username = password = ''
    if request.POST:
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        if user is not None:
            if user.is_active:
                auth(request, user)
                return redirect('/dashboard/')
        else:
            return redirect('/excel/' + username)
    return render(request, "Hospital/firstpage.html", {'username': username})
Пример #5
0
def login(request):
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        a = authenticate(username=username, password=password)
        print ("Hello ****\n\n\n\n\n************")

        print(a)
        if a == None:
            return render(request, "interface/authenticate_page.html",
                          {"message": "Please enter a vaild user name and passowrd."})
        auth(request, a)
        return redirect('/')
    return render(request, "interface/authenticate_page.html", {})
Пример #6
0
def user_edit_check(request):
    if request.method == 'GET':
        check = request.session.get('Check_Method', None)
        print('check===', check)
        # Check_Method = request.session['Check_Method']
        user_check = User.objects.get(username=request.user)
        if check:
            # return render(request,'member/user_edit_check.html')
            return render(request, 'member/user_edit_check.html',
                          {'user_check': user_check})
        else:
            # Check_Method = request.session['Check_Method']
            return render(request, 'member/user_edit_check.html', {
                'user_check': user_check,
                'Check_Method': 1
            })

    elif request.method == 'POST':
        id = request.POST['username']
        pw = request.POST['password']

        user = auth(request, username=id, password=pw)
        if user is not None:
            # 세션 추가
            login(request, user)
            # 성공 _ 리다이렉트
            return redirect('/member/user_edit_pw')
        else:
            # 여기 정보를 get으로 보내야해
            request.session['Check_Method'] = 1
            return redirect('/member/user_edit_check')
Пример #7
0
def authenticate(request, email=None, password=None):
    '''
    Log the Poster in or raise an Unauthenticated error. If email or password 
    is None, will attempt to extract from the request object. This assumes it 
    is a json object. If other formats are used, you must pass in email and 
    password separately. The user object will be placed in the request object 
    after successful login.
    
    @param request: the request to log in
    @param email: the email of the poster
    @param password: the password of the poster
    @return the sessionid, the user object
    '''
    if email is None or password is None:
        try:
            j = read(request)
            email = j["email"]
            password = j["password"]
        except ValueError:
            raise ValueError("Faulty json. Could not parse.")
        except KeyError as ke:
            KeyError(ke)
    user = auth(username=email, password=password)
    if user is None:
        raise AuthenticationError()
    login(request, user)
    return request.session[SESSION_KEY]
Пример #8
0
    def post(self, request, *args, **kwargs):
        username = request.data.get('username')
        password = request.data.get('password')
        user = auth(username=username, password=password)
        if user:
            payload = jwt_payload_handler(user)
            token = jwt_encode_handler(payload)

            role = user.role.name if hasattr(user.role, 'name') else '未分配角色'
            head_img = request.build_absolute_uri(user.head_img.url)
            data = dict(token=token,
                        username=user.username,
                        role=role,
                        head_img=head_img,
                        email=user.email or '就像火箭升空了一样',
                        mobile=user.mobile or '假如你写了,但是你没有',
                        nickname=user.nickname or '地表最强',
                        date_joined=user.date_joined,
                        last_login=user.last_login,
                        show_tagsview=user.show_tagsview,
                        show_avatar=user.show_avatar,
                        status=200)
            user.last_login = datetime.datetime.now()
            user.save()
            seconds = settings.JWT_AUTH.get(
                'JWT_EXPIRATION_DELTA',
                datetime.timedelta(minutes=0)).total_seconds()
            caches["redis-token"].set(token, user, seconds)
            return Response(data, 200)
        data = dict(message='用户名或密码错误', status=401)
        return Response(data, 401)
Пример #9
0
def authenticate(request):
  user = auth(username=request.POST['username'], password=request.POST['password'])
  print user
  if user is not None:
    user_login(request, user)
    return HttpResponseRedirect('/')
  else:
    return HttpResponseRedirect('/users/login')
Пример #10
0
def authenticate(request):
    request_payload = json.loads(request.body, encoding="utf-8")
    username = request_payload['username']
    password = request_payload['password']
    user = auth(request, username=username, password=password)
    if user is not None:
        django_login(request, user)
        return HttpResponse('Authentication succeeded!', status=200)
    return HttpResponse('Authentication failed!', status=401)
Пример #11
0
def callback(request, network):
    """
    This is the authentication view called by social network after the
    user authenticates via the social network.
    """
    oauth_request_token = request.session.get(SK_REQUEST_TOKEN)

    if not oauth_request_token:
        raise Http404

    backend = get_network_backend_or_404(network)

    try:
        access_token, access_token_expires = backend.get_oauth_access_token(
            request, oauth_request_token)
    except:
        logger.exception('Callback failed for %s' % network)
        return redirect_or_error(options.REDIRECT_ON_ACCESS_TOKEN_FAILURE,
                                 options.KEY_ACCESS_TOKEN_FAILURE)

    responses = django_social_user_pre_callback.send_robust(
        None,
        request=request,
        network=network,
        access_token=access_token,
        access_token_expires=access_token_expires)

    # Check to see if the pre_callback signal raised an exception to skip
    # the authentication backend.
    if not any([
            isinstance(response, DoNotAuthenticate)
            for receiver, response in responses
    ]):
        # If the user is already authenticated, pass into the backend
        # so that the social identity can be associated to the user.
        user = request.user if request.user.is_authenticated() else None

        user = auth(network=network,
                    access_token=access_token,
                    access_token_expires=access_token_expires,
                    user=user)

        if user is not None:
            if user.is_active:
                login(request, user)
            else:
                # todo: handle this better
                raise SocialOauthDictFailed('User is not active')
        else:
            raise SocialOauthDictFailed('User not returned from authorization')

    django_social_user_post_callback.send(None, request=request)

    # redirect to the session value or the default redirect value
    return redirect_or_error(options.REDIRECT_ON_AUTHENTICATION,
                             options.KEY_AUTHENTICATION,
                             override=request.session.get(SK_AUTH_REDIRECT))
Пример #12
0
 def mutate(self,info,context,**kwargs):
     username=kwargs.get('username')
     password=kwargs.get('password')
     print(context.context.user)
     user = auth(username=username, password=password)
     print(user)
     if user is not None:
         login(context.context,user)
     print(context.context.user)
Пример #13
0
def change_password(request):
    request_payload = json.loads(request.body, encoding="utf-8")
    old_password = request_payload['old_password']
    new_password = request_payload['new_password']
    user = auth(request, username=request.user.username, password=old_password)
    if not user:
        return HttpResponse("Old password is invalid", status=401)
    user.password = new_password
    user.save()
    return HttpResponse("Password change succeeded!", status=200)
Пример #14
0
	def authenticate(self, request, pk=None):
		res = {}

		from django.contrib.auth import authenticate as auth
		user = auth(username=request.POST['username'], password=request.POST['password'])
		if user is None:
			res['detail'] = u'失敗使用者驗證'
			return Response(data=res, status=status.HTTP_406_NOT_ACCEPTABLE)
		else:
			return Response(data=res, status=status.HTTP_202_ACCEPTED)
Пример #15
0
def callback(request, network):
    """
    This is the authentication view called by social network after the
    user authenticates via the social network.
    """
    oauth_request_token = request.session.get(SK_REQUEST_TOKEN)

    if not oauth_request_token:
        raise Http404

    backend = get_network_backend_or_404(network)

    try:
        access_token, access_token_expires = backend.get_oauth_access_token(
            request, oauth_request_token)
    except:
        logger.exception('Callback failed for %s' % network)
        return redirect_or_error(
            options.REDIRECT_ON_ACCESS_TOKEN_FAILURE,
            options.KEY_ACCESS_TOKEN_FAILURE)

    responses = django_social_user_pre_callback.send_robust(
                                    None,
                                    request=request,
                                    network=network,
                                    access_token=access_token,
                                    access_token_expires=access_token_expires)

    # Check to see if the pre_callback signal raised an exception to skip
    # the authentication backend.
    if not any([isinstance(response, DoNotAuthenticate)
                for receiver, response in responses]):
        # If the user is already authenticated, pass into the backend
        # so that the social identity can be associated to the user.
        user = request.user if request.user.is_authenticated() else None

        user = auth(
            network=network, access_token=access_token,
            access_token_expires=access_token_expires, user=user)

        if user is not None:
            if user.is_active:
                login(request, user)
            else:
                # todo: handle this better
                raise SocialOauthDictFailed('User is not active')
        else:
            raise SocialOauthDictFailed('User not returned from authorization')

    django_social_user_post_callback.send(None, request=request)

    # redirect to the session value or the default redirect value
    return redirect_or_error(
        options.REDIRECT_ON_AUTHENTICATION, options.KEY_AUTHENTICATION,
        override=request.session.get(SK_AUTH_REDIRECT))
Пример #16
0
    def authenticate(self, request, pk=None):
        res = {}

        from django.contrib.auth import authenticate as auth
        user = auth(username=request.data['username'],
                    password=request.data['password'])
        if user is None:
            res['detail'] = u'失敗使用者驗證'
            return Response(data=res, status=status.HTTP_406_NOT_ACCEPTABLE)
        else:
            return Response(data=res, status=status.HTTP_202_ACCEPTED)
Пример #17
0
def login(request):
    username = request.data.get("username")
    password = request.data.get("password")
    user = authenticate(username=username, password=password)
    if user:
        auth(request, user)
        token, _ = Token.objects.get_or_create(user=user)
        # return Response({"token": token.key})
        redirectTo = settings.FRONTEND_SERVER_URL
        return Response({
            'success': True,
            'token': token.key,
            "redirectTo": redirectTo
        })

    print("NOT USER")
    return Response({
        'success': 'False',
        "error": "username or password is incorrect!"
    })
Пример #18
0
def login(request):
    data_login = json.loads(request.body)
    user = auth(
        username=data_login['username'],
        password=data_login['password']
    )

    if user is not None:
        auth_login(request, user)
        return HttpResponse(status=200)
    else:
        return HttpResponse('Login error', status=401)
Пример #19
0
def authenticate(request):
    username = request.POST['username']
    password = request.POST['password']
    user = auth(request, username=username, password=password)
    if user is not None:
        login(request, user)
        # setting the session expiration time in seconds
        request.session.set_expiry(300)  # 5 minutes
        return HttpResponseRedirect("../dashboard/")
    else:
        return HttpResponseRedirect(
            f"../login?from=authenticator&username={username}")
Пример #20
0
def user_check(request):
    user_name = request.POST['user_name']
    password = request.POST['password']
    user = auth(username=user_name, password=password)
    if user is not None:
        if user.is_active:
            msg = "" #"User is valid, active and authenticated"
        else:
            msg = "The password is valid, but the account has been disabled!"
    else:
        msg = "The username and password were incorrect."
    #response = JsonResponse({'msg': msg})
    return JsonResponse({'res': msg})
Пример #21
0
def tinylogin(request, pk):
    user = User.objects.get(pk=pk)
    redirect_to = request.REQUEST.get(redirect_field_name, '')
    netloc = urlparse.urlparse(redirect_to)[1]

    # Use default setting if redirect_to is empty
    if not redirect_to:
        redirect_to = settings.LOGIN_REDIRECT_URL

        # Heavier security check -- don't allow redirection to a different
        # host.
    elif netloc and netloc != request.get_host():
        redirect_to = settings.LOGIN_REDIRECT_URL

    if user:
        backend = get_backends()[0]
        user.backend = "%s.%s" % (backend.__module__,
                                  backend.__class__.__name__)
        auth(request, user)
        return HttpResponseRedirect(redirect_to)
    else:
        redirect('/admin/')
Пример #22
0
def login(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = auth(username=username, password=password)
        if user is not None:
            if user.is_active:
                authlogin(request, user)
                return render_to_response('users/login/success.html', context_instance = RequestContext(request))
            else:
                return render_to_response('users/login/disabled.html', context_instance = RequestContext(request))
        else:
            return render_to_response('users/login/invalid.html', context_instance = RequestContext(request))
    return render_to_response('users/login/login.html', context_instance = RequestContext(request))
Пример #23
0
def Land_register(request):
    if request.method == 'POST':
        form = Cust_SignupForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = auth(username=username, password=raw_password)

            form = LanddetailsForm()
            return render(request, 'Ldetails.html', {'form': form})
    else:
        form = Cust_SignupForm()
    return render(request, 'signupl.html', {'form': form})
Пример #24
0
def authenticate(request, email: str, password: str) -> UserAuthData:
    """
    Авторизирует пользователя в системе
    :param request: request
    :param email: str
    :param password: str
    :return: UserAuthData = NamedTuple(status: bool, message: str, user: Optional[User]
    """
    user = auth(request, email=email, password=password)
    if not user:
        return UserAuthData(status=False,
                            message=ErrorMessages.WRONG_EMAIL_OR_PASSWORD,
                            user=None)
    login(request, user)
    return UserAuthData(status=True, message='', user=user)
Пример #25
0
    def post(self, request, *args, **kwargs):
        username = request.data.get('username')
        password = request.data.get('password')

        if username and password:
            print(username, password)
            user = auth(request=request, username=username, password=password)
            print(user)
            if not user:
                content = 'Unable to log in with provided credentials.'
                return Response(content, status=status.HTTP_400_BAD_REQUEST)
        else:
            content = 'Must include "username" and "password".'
            return Response(content, status=status.HTTP_400_BAD_REQUEST)
        content = {'user_id': user.id}
        return Response(content, status=status.HTTP_200_OK)
Пример #26
0
def Cust_login(request):

    context = {}
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        user = auth(request, username=username, password=password)
        if user:
            all_landd = Landdetails.objects.all()
            return render(request, "Maindisplay.html",
                          {"all_landd": all_landd})
        else:
            context['error'] = "provide valid crendetials"
            return render(request, "log.html", context)
    else:
        return render(request, "log.html", context)
Пример #27
0
def Login(request):
    next = request.GET.get('next', '/')
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        user = auth(username=username, password=password)

        if user is not None:
            if user.is_active:
                login(request, user)
                return HttpResponseRedirect(next)
            else:
                return HttpResponse("Inactive user.")
        else:
            return HttpResponseRedirect(settings.LOGIN_URL)

    return render(request, "rentstuff/login.html", {'redirect_to': next})
Пример #28
0
def do_registration(request):
   #password and password confirmation matching should be handled client-side
   try:
      user = User.objects.create_user(request.POST['user'], 
                              request.POST['email'],
                              request.POST['pass'])

      user = auth(username = request.POST['user'], password = request.POST['pass'])

      if user is not None:
         login(request, user)

      return HttpResponseRedirect(reverse('sharequote.views.index') + "?success")
   except KeyError:
      #create user failed
      #TODO: make this error checking more robust
      return HttpResponseRedirect(reverse('sharequote.views.register'))
Пример #29
0
def Login(request):
    next = request.GET.get('next', '/')
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        user = auth(username=username, password=password)

        if user is not None:
            if user.is_active:
                login(request, user)
                return HttpResponseRedirect(next)
            else:
                return HttpResponse("Inactive user.")
        else:
            return HttpResponseRedirect(settings.LOGIN_URL)

    return render(request, "rentstuff/login.html", {'redirect_to': next})
Пример #30
0
def fb_login(request):
    code = request.GET.get('code')


    redirect_uri = 'https://graph.facebook.com/v2'\
    '.8/oauth/access_token?'\
    'client_id={app_id}'\
    '&redirect_uri={redirect_url}'\
    '&client_secret={app_secret}'\
    '&code={code_parameter}'.format(app_id=settings.FACEBOOK_APP_ID,
                                   redirect_url='http://127.0.0.1:8000/member/fb_login/',
                                   app_secret=settings.APP_SECRET_CODE,
                                   code_parameter=code)
    r = requests.get(redirect_uri)
    dic_r = r.json()
    access_token = dic_r['access_token']
    app_secret_code = '{}|{}'.format(settings.FACEBOOK_APP_ID,
                                     settings.APP_SECRET_CODE)
    debug_redirect_uri = 'https://graph.facebook.com/debug_token?'\
                         'input_token={access_token}'\
                         '&access_token={app_secret_code}'.format(access_token=access_token,
                                                                 app_secret_code=app_secret_code)

    r = requests.get(debug_redirect_uri)
    dic_r = r.json()
    user_id = dic_r['data']['user_id']

    user_info_uri = 'https://graph.facebook.com/{user_id}?'\
                    'fields=id,email,first_name,last_name'\
                    '&access_token={access_token}'.format(user_id=user_id,
                                                          access_token=access_token)
    r = requests.get(user_info_uri)
    dic_r = r.json()
    user_info = dic_r

    try:
        user_id = ServiceUser.objects.get(email=dic_r['email'])
    except:
        user_id = ServiceUser.objects.create_user(dic_r)

    user = auth(user_info=user_info)
    auth_login(request, user)
    if user.is_teacher:
        return redirect('poll:poll_edit')
    else:
        return redirect('poll:poll_list')
Пример #31
0
def sign_in(request):
    if request.method == 'GET':
        request.session['prev'] = request.get_full_path()
        return render(request, 'member/sign_in.html')

    elif request.method == 'POST':
        id = request.POST['username']
        pw = request.POST['password']

        user = auth(request, username=id, password=pw)
        if user is not None:
            login(request, user)
            return redirect('/member/main')
            # prev = request.session['prev']
            # print(prev)
            # return redirect(prev)
        else:
            return HttpResponse(error)
Пример #32
0
def login_view(request):

    if request.method == 'POST':

        user = auth(request, 
        username=request.POST.get('username'),
        password=request.POST.get('password'))

        if user is not None:
            authlogin(request, user)
            return redirect('system:home')
        else:
            return HttpResponse('You have failed to login.')
    elif request.method == 'GET':
        if request.user.is_authenticated:
            return redirect('system:home')

    return render(request, 'login.html')
Пример #33
0
def login(request):
    next = request.GET.get('next', '/')

    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        user = auth(username=username, password=password)

        if user is not None:
            if user.is_active:
                _login(request, user)
                return HttpResponseRedirect(next)
            else:
                return HttpResponse("Inactive user.")
        else:
            return HttpResponseRedirect('/')

    form = LoginForm()
    return render(request, "latlong/login.html", {'redirect_to': next, 'form': form})
Пример #34
0
def signin(request):

    context = {}

    form = LoginForm(request.POST or None)
    context['form'] = form

    if form.is_valid():
        
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']

        user = auth(request, username=username, password=password)
        
        if user:
            login(request, user)

            return redirect(reverse('main:home'))

    return render(request, "login.html", context)
Пример #35
0
def register(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)

        if form.is_valid():

            user = User.objects.create_user(
                username=form.cleaned_data['username'],
                password=form.cleaned_data['password1'],
                email=form.cleaned_data['email']
            )
            user = auth(username=form.cleaned_data[
                        'username'], password=form.cleaned_data['password1'])

            return HttpResponseRedirect('/')

    else:
        form = RegistrationForm()

    return render(request, 'latlong/register.html', {'form': form})
Пример #36
0
def authenticate(request):
    data = json.loads(request.body.decode("utf-8"))
    username = data["username"]
    password = data["password"]
    print("Username", username)
    print("Password", password)
    user = auth(username=username, password=password) # Genera problemas... Nunca obtiene el usuario.
    print("USer:"******"authenticated": False,
            "token": None,
            "username": None,
        }
        return JsonResponse(response, safe=False)
    else:
        response = {
            "authenticated": True,
            "token": user.token,
            "username": user.username,
        }
        return JsonResponse(response, safe=False)
Пример #37
0
def login_view(request):
    if request.method == "POST":  #if the form has been submitted
        form = UserLoginForm(request.POST)
        username = request.POST['username']
        password = request.POST['password']
        print(username, password)
        u = User.objects.filter(username=username)
        print("sadfh", u)
        user = auth(username=username, password=password)
        print(user)
        if user is not None:
            login(request, user)
            print("True")
            message = "Welcome"
            project_list = Project.objects.all(
            )  ###view all project... no logic used...
            context_dict = {'message': message, 'projects': project_list}
            page = 'index.html'
        else:
            # Return an 'invalid login' error message.
            project_list = Project.objects.all(
            )  ###view all project... no logic used...
            context_dict = {
                'message': 'Incorrect Credentials',
                'form': form,
                'projects': project_list
            }
            page = 'index.html'

    else:  #if the form has not been submitted
        form = UserLoginForm(request.POST or None)
        project_list = Project.objects.all(
        )  ###view all project... no logic used...
        context_dict = {'form': form, 'projects': project_list}
        page = 'index.html'
    #
    # if request.user.is_authenticated():
    return render(request, page, context_dict)
Пример #38
0
def sign_in(request):
    if request.method == 'GET':
        #
        # if request.GET.get()
        return render(request, 'member/sign_in.html')

    elif request.method == 'POST':
        id = request.POST['username']
        pw = request.POST['password']

        # 디비 인증
        user = auth(request, username=id, password=pw)
        if user is not None:
            # 세션 추가
            login(request, user)
            # 성공 _ 리다이렉트
            # return redirect('/member/main')
            prev = request.session['prev']
            print(prev)
            return redirect(prev)
        else:
            # 실패_ 에러 메시지 전송  {'error':"username or password is incorrect!"}
            return HttpResponse(error)
Пример #39
0
def Login_View(request):
    try:
        key = request.session['member-id']
        return redirect('/home/')
    except:
        if request.method == "POST":
            form = Login_Form(request.POST)
            username = request.POST['username']
            password = request.POST['password']
            user = auth(username=username, password=password)
            if user is not None:
                lgn(request, user)
                request.session['member-id'] = user.id
                return redirect('/home/')
            else:
                return render(request, "Login/login.html", {
                    'form': form,
                    'error': 'True'
                })

        else:
            form = Login_Form()
            return render(request, "Login/login.html", {'form': form})
Пример #40
0
def user_edit_pw(request):
    if request.method == 'GET':
        # if not request.user.is_authenticated:
        #     return redirect(request, 'user_edit_pw')

        user_check = User.objects.get(username=request.user)
        return render(request, 'member/user_edit_pw.html',
                      {'user_check': user_check})

    elif request.method == 'POST':
        pw = request.POST['pw']  # 기존 암호 = old_pw
        new_pw = request.POST['new_pw']  # 바꿀 암호 = new_pw

        # 바꾸기 전에 인증
        user_edit_pw = auth(request, username=request.user, password=pw)

        if user_edit_pw:
            user_edit_pw.set_password(new_pw)  # new_pw으로 암호 변경
            user_edit_pw.save()
            # return redirect('/member/main')
            return redirect('/member/sign_in')

        return redirect('/member/user_edit_pw')
Пример #41
0
def login(request):
    username = request.POST['username']
    password = request.POST['password']
    user = auth(request, username=username, password=password)
    _login(request, user)
    return HttpResponseRedirect(reverse('notes_app:index'))
Пример #42
0
def account(request, view=''):
    fl = request.user.is_authenticated()
    if fl:
        # user is logged in
            # change password
        if request.method == 'POST':
            user_name = request.POST['user_name']
            password = request.POST['password']
            user = auth(username=user_name, password=password)
            if view == 'password' and user is not None:
                if user.is_active:
                    pass
                    #login(request, user)
                    msg = 'Redirect to a success page'
                else:
                    msg = "Return a 'disabled account' error message"
                    pass
                l = set_template('account', 'signup', request.user.is_authenticated())
                return render(request, 'account/password.html', {'msg': msg, 'm': l})
            else:
                pass
            # Return an 'invalid login' error message.
        else:
            if view == 'logoff':    # log off
                from django.contrib.auth import logout
                logout(request)
                msg = 'signed out'
                fl = False
            elif view == 'password':    # change password
                msg = 'change password'
                l = set_template('account', view, request.user.is_authenticated())
                return render(request, 'account/password.html', {'msg': msg, 'm': l})
            else:                       # user info
                view = 'edit'
                msg = 'account info'
    else:
        # user is not logged in
            # login event
        if request.method == 'POST':
            if view == 'login':
                user_name = request.POST['user_name']
                password = request.POST['password']
                user = auth(username=user_name, password=password)
                if user is not None:
                    if user.is_active:
                        login(request, user)
                        msg = "User is valid, active and authenticated"
                        view = 'edit'
                        return redirect('/account/edit/')
                    else:
                        msg = "The password is valid, but the account has been disabled!"
                else:
                    msg = "The username and password were incorrect."
            elif view == 'signup':
                msg = "Sign up."
            else:
                msg = "Something else."
        else:
                # show sign up form
            if view == 'signup':
                msg = 'sign up'
                l = set_template('account', 'signup', request.user.is_authenticated())
                return render(request, 'account/signup.html', {'msg': msg, 'm': l})
            else:
                # show login form
                msg = 'log in'
                l = set_template('account', 'login', request.user.is_authenticated())
                return render(request, 'account/login.html', {'msg': msg, 'm': l})
    l = set_template('account', view, request.user.is_authenticated())
    return render(request, 'account/account.html', {'msg': msg, 'm': l})
Пример #43
0
 def form_valid(self, form):
     login(
         self.request,
         auth(username=form.cleaned_data['username'],
              password=form.cleaned_data['password']))
     return try_next(self.request, self.success_url)