Python django.contrib.auth 模块,login() 实例源码

我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用django.contrib.auth.login()

项目:til    作者:amitsaha    | 项目源码 | 文件源码
def signup(request):
    if request.user.is_authenticated:
        return HttpResponseRedirect('/post/')
    if request.method == 'GET':
        form = UserCreationForm()
        return render(request, 'tilweb/signup.html', {'form': form})
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            # https://docs.djangoproject.com/en/1.11/topics/forms/modelforms/#the-save-method
            form.save()
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=password)
            login(request, user)
            return HttpResponseRedirect('/post/')
        else:
            # If there were errors, we render the form with these
            # errors
            return render(request, 'tilweb/signup.html', {'form': form})
项目:django-simplestore    作者:martinstastny    | 项目源码 | 文件源码
def form_valid(self, form):
        self.profile = form.save()
        self.request.session['user_cart'] = self.request.session.session_key

        user = authenticate(
            email=self.profile.email,
            password=self.request.POST['password1']
        )

        messages.add_message(
            self.request, messages.SUCCESS,
            'You were successfully logged in.'
        )

        login(self.request, user)
        return super(RegistrationFormView, self).form_valid(form)
项目:NearBeach    作者:robotichead    | 项目源码 | 文件源码
def index(request):
    """
    The index page determines if a particular user has logged in. It will
    follow the following steps

    Method
    ~~~~~~
    1.) If there is a user logged in, if not, send them to login
    2.) Find out if this user should be in the system, if not send them to
        invalid view
    3.) If survived this far the user will be sent to "Active Projects"
    """
    if not request.user.is_authenticated:
        return HttpResponseRedirect(reverse('login'))
    else:
        return HttpResponseRedirect(reverse('active_projects'))

    # Default
    return HttpResponseRedirect(reverse('login'))
项目:NearBeach    作者:robotichead    | 项目源码 | 文件源码
def clean(self):
        #Get login data
        username=self.cleaned_data.get("username")
        password=self.cleaned_data.get("password")

        #Checking authentication
        if username and password:
            user=authenticate(username=username, password=password)
            """
            The following bunch of if, else if statements will return errors if the following
            cases are met
            -- Login is not valid
            -- Login is currently not active
            -- If the user does not have groups associated with them
            """
            if ((not user) or (not user.check_password(password))):
                raise forms.ValidationError("The login details are incorrect")
            elif (not user.is_active):
                raise forms.ValidationError("Please contact your system administrator. Your account has been disabled")
            elif (user_groups.objects.filter(username_id=user.id, is_deleted='FALSE').count() == 0):
                raise forms.ValidationError("Please contact your system administrator. Your account has no group access")
        return super(login_form, self).clean()
项目:sensu_drive    作者:ilavender    | 项目源码 | 文件源码
def subscriptions(request):        

    data = {}

    for word in r.keys("subscription_*"):
        subscription = re.sub(r'^subscription_', '', str(word.decode('utf-8')))
        try:

            subscription_data = r.lrange(word, 0, -1)
            data[subscription] = subscription_data 

        except:
            raise

    profile_form = ContactForm(instance=Contact.objects.get(user=request.user.id))   

    return render(request, 'isubscribe/subscriptions.html', {'DATA':data, 'profile_form': profile_form})




#@login_required(login_url=reverse_lazy('login'))
项目:sensu_drive    作者:ilavender    | 项目源码 | 文件源码
def resolve(request):

    mimetype = 'application/json'
    data = {}

    if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '':
        data['entity'] = request.POST['entity']        
        data['status'] = 0
        data['timestamp'] = datetime.datetime.now().timestamp()        
        data['output'] = "resolve request by %s" % (request.user.username)
        data['result'] = 'okay'

        sensu_event_resolve(data)
        Channel('background-alert').send(dict(data))


    return HttpResponse(json.dumps(data), mimetype)



#@login_required(login_url=reverse_lazy('login'))
项目:sensu_drive    作者:ilavender    | 项目源码 | 文件源码
def rmResult(request):

    mimetype = 'application/json'
    data = {}

    if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '':        
        data['client'], data['check'] = request.POST['entity'].split(':')       
        data['status'] = 0
        data['timestamp'] = datetime.datetime.now().timestamp()

        if sensu_result_delete(data):
            data['result'] = 'okay'
        else:        
            data['result'] = 'failed deleting result using sensu api for: ' + request.POST['entity']

    return HttpResponse(json.dumps(data), mimetype)



#@login_required(login_url=reverse_lazy('login'))
项目:sensu_drive    作者:ilavender    | 项目源码 | 文件源码
def entity_history(request):            

    data = []
    mimetype = 'application/json'   

    if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '':

        entity = request.POST['entity']
        logger.debug("view entity_history user: %s entity: %s" % (request.user.username, entity))

        for history_data in r.lrange('history_entity_' + entity, 0, 100):
            data.append(pickle.loads(history_data))

    return HttpResponse(json.dumps(data), mimetype)



#@login_required(login_url=reverse_lazy('login'))
项目:sensu_drive    作者:ilavender    | 项目源码 | 文件源码
def entity_notify_history(request):            

    data = []
    mimetype = 'application/json'   

    if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '':

        entity = request.POST['entity']
        logger.debug("view entity_notify_history user: %s entity: %s" % (request.user.username, entity))

        for history_data in r.lrange('notifyhistory_entity_' + entity, 0, 100):
            data.append(pickle.loads(history_data))

    return HttpResponse(json.dumps(data), mimetype)




#@login_required(login_url=reverse_lazy('login'))
项目:sensu_drive    作者:ilavender    | 项目源码 | 文件源码
def check_config(request):        

    mimetype = 'application/json'   
    data = {}

    if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '':        
        client_name, check_name = request.POST['entity'].split(':')
        #check_name = 'check_gw_tomcat_errors_1h'
        #data = cache.get('check_' + check_name)
        data = cache.get('check_' + request.POST['entity'])


    return HttpResponse(json.dumps(data), mimetype)



#@login_required(login_url=reverse_lazy('login'))
项目:django-simplestore    作者:martinstastny    | 项目源码 | 文件源码
def form_valid(self, form):

        cart = get_cart(self.request, create=True)
        user = authenticate(email=self.request.POST['email'], password=self.request.POST['password'])

        if user is not None and user.is_active:
            self.request.session['user_cart'] = self.request.session.session_key
            login(self.request, user)

            if cart is not None:
                cart.user = Profile.objects.get(id=user.id)
                cart.save()
                messages.add_message(self.request, messages.SUCCESS, 'You were successfully logged in.')

            return super(AuthenticationForm, self).form_valid(form)

        else:
            response = super(AuthenticationForm, self).form_invalid(form)
            messages.add_message(self.request, messages.WARNING, 'Wrong email or password. Please try again')
            return response


# Logout View
项目:django-tmpl    作者:jarrekk    | 项目源码 | 文件源码
def get(self, request, *args, **kwargs):
        try:
            uid = force_text(urlsafe_base64_decode(kwargs['uid64']))
            user = UserModel.objects.get(pk=uid)
        except Exception as e:
            logger.info(e)
            user = None
        if user is not None and account_activation_token.check_token(user, kwargs['token']):
            email_address = user.emailaddress_set.first()
            email_address.verified = True
            email_address.save()
            user.backend = 'django.contrib.auth.backends.ModelBackend'
            login(request, user)
            # return redirect('home')
            return HttpResponse('Thank you for your email confirmation. Now you can login your account.')
        return HttpResponse('Activation link is invalid!')
项目:oglasi    作者:stralz    | 项目源码 | 文件源码
def napravi_oglas(request):
    if not request.user.is_authenticated():
        return render(request, 'music/login.html')
    else:
        form = OglasForm(request.POST or None, request.FILES or None)
        if form.is_valid():
            oglas = form.save(commit=False)
            oglas.vlasnik = request.user
            oglas.slike = request.FILES['slike']
            file_type = oglas.slike.url.split('.')[-1]
            file_type = file_type.lower()
            if file_type not in IMAGE_FILE_TYPES:
                context = {
                    'oglas': oglas,
                    'form': form,
                    'error_message': 'Image file must be PNG, JPG, or JPEG',
                }
                return render(request, 'music/napravi_oglas.html', context)
            oglas.save()
            return render(request, 'music/detail.html', {'oglas': oglas})
        context = {
            "form": form,
            'kategorije': Kategorija.objects.all(),
        }
        return render(request, 'music/napravi_oglas.html', context)
项目:byro    作者:byro    | 项目源码 | 文件源码
def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect:
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)

        if user is None:
            messages.error(request, _('No user account matches the entered credentials.'))
            return redirect('common:login')

        if not user.is_active:
            messages.error(request, _('User account is deactivated.'))
            return redirect('common:login')

        login(request, user)
        url = urllib.parse.unquote(request.GET.get('next', ''))
        if url and is_safe_url(url, request.get_host()):
            return redirect(url)

        return redirect('/')
项目:lightning-coindesk    作者:lightninglabs    | 项目源码 | 文件源码
def verify(request):

    assert 'login_signature' in request.POST, "No signature supplied"
    kwargs = {
        'username': request.POST.get('login_username'),
        'signature': request.POST.get('login_signature'),
        'csrf_token': str(request.POST.get('csrfmiddlewaretoken'))
    }

    user = authenticate(request=request, **kwargs)
    if user is None:
        raise Exception("Failed to log in")
        # return HttpResponseRedirect('/login')
    else:
        login(request, user)
        return HttpResponseRedirect("/")
项目:OpsManage    作者:welliamcao    | 项目源码 | 文件源码
def login(request):
    if request.session.get('username') is not None:
        return HttpResponseRedirect('/',{"user":request.user})
    else:
        username = request.POST.get('username')
        password = request.POST.get('password') 
        user = auth.authenticate(username=username,password=password)
        if user and user.is_active:
            auth.login(request,user)
            request.session['username'] = username
            return HttpResponseRedirect('/user/center/',{"user":request.user})
        else:
            if request.method == "POST":
                return render(request,'login.html',{"login_error_info":"???????????????"},)  
            else:
                return render(request,'login.html')
项目:CodingDojo    作者:ComputerSocietyUNB    | 项目源码 | 文件源码
def login(self, **credentials):
        """
        Sets the Factory to appear as if it has successfully logged into a site.

        Returns True if login is possible; False if the provided credentials
        are incorrect, or the user is inactive, or if the sessions framework is
        not available.
        """
        from django.contrib.auth import authenticate
        user = authenticate(**credentials)
        if (user and user.is_active and
                apps.is_installed('django.contrib.sessions')):
            self._login(user)
            return True
        else:
            return False
项目:planet-b-saleor    作者:planet-b    | 项目源码 | 文件源码
def create_password(request, token):
    if request.user.is_authenticated:
        return redirect('order:details', token=token)
    order = get_object_or_404(Order, token=token)
    email = order.user_email
    form_data = request.POST.copy()
    if form_data:
        form_data.update({'email': email})
    register_form = PasswordForm(form_data or None)
    if User.objects.filter(email=email).exists():
        login_form = LoginForm(initial={'login': email})
    else:
        login_form = None
    if register_form.is_valid():
        register_form.save()
        password = register_form.cleaned_data.get('password')
        user = auth.authenticate(request=request, email=email,
                                 password=password)
        auth.login(request, user)
        attach_order_to_user(order, user)
        return redirect('order:details', token=token)
    ctx = {'form': register_form, 'email': email, 'order': order,
           'login_form': login_form}
    return TemplateResponse(request, 'order/create_password.html', ctx)
项目:BioQueue    作者:liyao001    | 项目源码 | 文件源码
def user_login(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            user = authenticate(username=cd['username'], password=cd['password'])

            if user is not None:
                if user.is_active:
                    login(request, user)
                    return success('Authenticated successfully', '/ui')
                else:
                    return error('Disabled account')
            else:
                return error('Wrong username or password')
        else:
            return error(str(form.errors))
    else:
        form = LoginForm()
    return render(request, 'accounts/login.html', {'form': form})
项目:BioQueue    作者:liyao001    | 项目源码 | 文件源码
def register(request):
    if request.method == 'POST':
        user_form = UserRegisterForm(request.POST)
        if user_form.is_valid():
            new_user = user_form.save(commit=False)
            new_user.set_password(
                user_form.cleaned_data['password']
            )
            new_user.is_active = False
            new_user.save()
            return success('Your account has been successfully created.', '/accounts/login')
        else:
            return error(str(user_form.errors))
    else:
        user_form = UserRegisterForm()
    return render(request, 'accounts/register.html', {'form': user_form})
项目:BioQueue    作者:liyao001    | 项目源码 | 文件源码
def change_password(request):
    if request.method == 'POST':
        form = PasswordChangeForm(request.POST)
        if form.is_valid():
            username = request.user.username
            cd = form.cleaned_data
            user = authenticate(username=username, password=cd['old_password'])
            if user is not None and user.is_active:
                new_password = cd['new_password_1']
                user.set_password(new_password)
                user.save()
                update_session_auth_hash(request, username)
                return success('Your password had been updated.', 'accounts:login')
            else:
                return error('Password doesn\'t match.')
        else:
            return error('Your form is illegal.')
    else:
        return error('Please confirm your approaching method.')
项目:consilium    作者:DrSLDR    | 项目源码 | 文件源码
def auth(request):
    try:
        username = request.POST['username']
        password = request.POST['password']
    except (KeyError):
        # Be very upset and just throw the fool back
        return index(request)
    else:
        # Attempt authentication
        user = authenticate(username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('/login')
        else:
            # Login failed
            return render(request, 'login/index.html', {
                'version' : settings.VERSION,
                'authfail' : True,
            })
项目:docker-grader    作者:elsys    | 项目源码 | 文件源码
def process_request(self, request):
        if request.method == 'POST' and \
           request.POST.get('lti_message_type') == 'basic-lti-launch-request':
            logger.debug('received a basic-lti-launch-request - '
                         'authenticating the user')

            # authenticate and log the user in
            user = auth.authenticate(request=request)

            if user is not None:
                # User is valid.
                # Set request.user and
                # persist user in the session by logging the user in.

                logger.debug('user was successfully authenticated; '
                             'now log them in')
                request.user = user
                auth.login(request, user)
                return HttpResponseRedirect(request.get_full_path())
项目:Server    作者:malaonline    | 项目源码 | 文件源码
def login_auth(request):
    username = request.POST.get('username')
    password = request.POST.get('password')
    goto_page = request.POST.get('next')
    logger.debug('try to login, username: '+username+', password: '+password+', goto_page: '+str(goto_page))
    # TODO: ??????‘???’?????????
    if not username or not password:
        return login(request, {'errors': '?????????'})
    # ????????
    newUser=auth.authenticate(username=username,password=password)
    if newUser is not None:
        if not is_manager(newUser):
            return login(request, {'errors': '???????'})
        auth.login(request, newUser)
        if goto_page:
            return redirect(goto_page)
        else:
            return redirect('staff:index')
    return login(request, {'errors': '????????'})
项目:Server    作者:malaonline    | 项目源码 | 文件源码
def post(self, request):
        var = ('username', 'password',)
        vard = {}

        for k in var:
            v = request.POST.get(k, '')
            if not v:
                return JsonResponse({'error': k + ' is empty'})
            vard[k] = v

        user = auth.authenticate(
            username=vard['username'], password=vard['password'])
        if user is None:
            return JsonResponse({'error': 'username or password incorrect'})
        if not is_lecturer(user):
            return JsonResponse({'error': 'you are not authorized'})

        auth.login(request, user)
        return redirect('lecturer:index')
项目:Server    作者:malaonline    | 项目源码 | 文件源码
def logout(request):
    auth.logout(request)
    return redirect('import_:login')


# class StaffRoleRequiredMixin(AccessMixin):
#     def dispatch(self, request, *args, **kwargs):
#         url_name = self.request.resolver_match.url_name
#         for group in self.request.user.groups.all():
#             for staff_permission in group.staffpermission_set.all():
#                 if staff_permission.allowed_url_name == 'all' \
#                         or staff_permission.allowed_url_name == url_name:
#                     return super(StaffRoleRequiredMixin, self).dispatch(
#                             request, *args, **kwargs)
#
#         return HttpResponse("Not Allowed.", status=403)
项目:postix    作者:c3cashdesk    | 项目源码 | 文件源码
def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect:
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)

        if user is None:
            messages.error(request, _('No user account matches the entered credentials.'))
            return redirect('backoffice:login')

        if not user.is_active:
            messages.error(request, _('User account is deactivated.'))
            return redirect('backoffice:login')

        if not is_backoffice_user(user):
            messages.error(request, _('User does not have permission to access backoffice data.'))
            return redirect('backoffice:login')

        login(request, user)
        url = request.GET.get('next')
        if url and is_safe_url(url, request.get_host()):
            return redirect(url)

        return redirect('backoffice:main')
项目:postix    作者:c3cashdesk    | 项目源码 | 文件源码
def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect:
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)

        if user is None:
            messages.error(request, _('No user account matches the entered credentials.'))
            return redirect('troubleshooter:login')

        if not user.is_active:
            messages.error(request, _('User account is deactivated.'))
            return redirect('troubleshooter:login')

        if not troubleshooter_user(user):
            messages.error(request, _('User does not have permission to access troubleshooter data.'))
            return redirect('troubleshooter:login')

        login(request, user)
        return redirect('troubleshooter:main')
项目:quora-django    作者:hndrxr    | 项目源码 | 文件源码
def post(self, request):
        form = self.form_class(request.POST)
        if form.is_valid():
            username, password = form.cleaned_data['username'], form.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user:
                if user.is_active:
                    login(request, user)
                    return redirect("/")
                else:
                    form.add_error("username", "Please confirm your password")
                    return render(request, "account/login.html", {"form": form})
            else:
                form.add_error("password", "Invalid username or password")
                return render(request, "account/login.html", {"form": form})
        else:
            return render(request, "account/login.html", {"form": form})
项目:SPBU-DBMS-Project    作者:Betekhtin    | 项目源码 | 文件源码
def login(request):
    username = auth.get_user(request).username
    if (username):
        return redirect('/')
    else:
        args = {}
        args.update(csrf(request))
        if request.POST:
            username = request.POST.get('username','')
            password = request.POST.get('password','')
            user = auth.authenticate(username=username, password=password)
            if user is not None:
                if not request.POST.get('remember-me', ''):
                    request.session.set_expiry(0)
                auth.login(request, user)
                return redirect('/')
            else:
                args['login_error'] = format_html("<div class=\"main-error alert alert-error\">???????????? ??? ???????????? ??? ??????</div>")
                return render_to_response('login.html', args)
        else:
            return render_to_response('login.html', args)
项目:SPBU-DBMS-Project    作者:Betekhtin    | 项目源码 | 文件源码
def history(request):
    username = auth.get_user(request).username
    if (username):
        ?t = city.objects.all().values()
        co = country.objects.all().values()

        city_json = json.dumps(list(?t), cls=DjangoJSONEncoder,ensure_ascii=False)
        country_json = json.dumps(list(co), cls=DjangoJSONEncoder,ensure_ascii=False)
        args={}
        args['city']=city_json
        args['country'] = country_json
        args['max_date'] = []
        for i in ?t:
            args['max_date'].append((temperature.objects.filter(city_id__exact=i['city_id']).latest('date').date))
        return render_to_response("history.html",args)
    else:
        return redirect("/login")
项目:SPBU-DBMS-Project    作者:Betekhtin    | 项目源码 | 文件源码
def register(request):
    username = auth.get_user(request).username
    if not (username):
        args={}
        args.update(csrf(request))
        args['form']=UserCreationForm()
        if request.POST:
            newuser_form=UserCreationForm(request.POST)
            if newuser_form.is_valid():
                newuser_form.save()
                newuser = auth.authenticate(username=newuser_form.cleaned_data['username'],password=newuser_form.cleaned_data['password2'])
                auth.login(request, newuser)
                return redirect('/')
            else:
                args['errors'] = format_html('<div class="main-error alert alert-error">?????? ??? ???????????</div>')
                args['form'] = newuser_form
        return render_to_response('register.html',args)
    else:
        return redirect('/')
项目:VManagePlatform    作者:welliamcao    | 项目源码 | 文件源码
def login(request):
    if request.session.get('username') is not None:
        return HttpResponseRedirect('/profile',{"user":request.user})
    else:
        username = request.POST.get('username')
        password = request.POST.get('password') 
        user = auth.authenticate(username=username,password=password)
        if user and user.is_active:
            auth.login(request,user)
            request.session['username'] = username
            return HttpResponseRedirect('/profile',{"user":request.user})
        else:
            if request.method == "POST":
                return render_to_response('login.html',{"login_error_info":"???????????????"},
                                                        context_instance=RequestContext(request))  
            else:
                return render_to_response('login.html',context_instance=RequestContext(request))
项目:registration    作者:HackAssistant    | 项目源码 | 文件源码
def signup(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        form = forms.RegisterForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            name = form.cleaned_data['name']

            if models.User.objects.filter(email=email).first() is not None:
                messages.error(request, 'An account with this email already exists')
            else:
                user = models.User.objects.create_user(email=email, password=password, name=name)
                user = auth.authenticate(email=email, password=password)
                auth.login(request, user)
                return HttpResponseRedirect(reverse('root'))
    else:
        form = forms.RegisterForm()

    return render(request, 'signup.html', {'form': form})
项目:registration    作者:HackAssistant    | 项目源码 | 文件源码
def activate(request, uid, token):
    try:
        uid = force_text(urlsafe_base64_decode(uid))
        user = User.objects.get(pk=uid)
        if request.user != user:
            messages.warning(request, "User email can be verified")
            return redirect('root')
    except (TypeError, ValueError, OverflowError, User.DoesNotExist):
        messages.warning(request, "User email can be verified")
        return redirect('root')

    if account_activation_token.check_token(user, token):
        messages.success(request, "Email verified!")

        user.email_verified = True
        user.save()
        auth.login(request, user)
    else:
        messages.error(request, "This email verification url has expired")
    return redirect('root')
项目:django-tail    作者:xianfuxing    | 项目源码 | 文件源码
def auth_login(request):
    if request.user.is_authenticated():
        return redirect(reverse('tail:tail'))
    if request.method == 'POST':
        form = RFPAuthForm(data=request.POST)
        if form.is_valid():
            user = form.get_user()
            if user is not None:
                if user.is_active:
                    login(request, user)
                    data = {'success': True, 'msg': 'success'}
                    #return redirect(reverse('tail:tail'))
                else:
                    data = {'success': False, 'msg': 'User is not active'}
                    #return HttpResponse('Disabled account')
            else:
                data = {'success': False, 'msg': 'Invalid login'}
                #return HttpResponse('Invalid login')
        else:
            data = {'success': False, 'msg': '??????????'}
        return HttpResponse(json.dumps(data), content_type='application/json')
    else:
        form = RFPAuthForm()
    return render(request, 'accounts/login.html', {'form': form})
项目:autostew    作者:Autostew    | 项目源码 | 文件源码
def login_view(request):
    if request.POST:
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                messages.add_message(request, messages.SUCCESS, "Login successful.", extra_tags='success')
                return redirect('account:home')
            else:
                messages.add_message(request, messages.ERROR, "You account is disabled.", extra_tags='danger')
                return redirect('account:login')
        else:
            messages.add_message(request, messages.ERROR, "Your username and/or your password is incorrect.", extra_tags='warning')
            return redirect('account:login')
    else:
        if request.user.is_authenticated():
            return redirect('account:home')
        else:
            return render(request, 'autostew_web_account/login.html')
项目:API-Manager    作者:OpenBankProject    | 项目源码 | 文件源码
def login_to_django(self):
        """
        Logs the user into Django
        Kind of faking it to establish if a user is authenticated later on
        """
        api = API(self.request.session.get('obp'))
        try:
            data = api.get('/users/current')
        except APIError as err:
            messages.error(self.request, err)
            return False
        else:
            userid = data['user_id'] or data['email']
            username = hashlib.sha256(userid.encode('utf-8')).hexdigest()
            password = username
            user, _ = User.objects.get_or_create(
                username=username, password=password,
            )
            login(self.request, user)
            return True
项目:API-Manager    作者:OpenBankProject    | 项目源码 | 文件源码
def get_redirect_url(self, *args, **kwargs):
        session_data = self.request.session.get('obp')
        authenticator_kwargs = session_data.get('authenticator_kwargs')
        authenticator = OAuthAuthenticator(**authenticator_kwargs)
        authorization_url = self.request.build_absolute_uri()
        try:
            authenticator.set_access_token(authorization_url)
        except AuthenticatorError as err:
            messages.error(self.request, err)
        else:
            session_data['authenticator_kwargs'] = {
                'token': authenticator.token,
                'secret': authenticator.secret,
            }
            self.login_to_django()
            messages.success(self.request, 'OAuth login successful!')
        redirect_url = self.request.GET.get('next', reverse('home'))
        return redirect_url
项目:django-ecom    作者:lamenezes    | 项目源码 | 文件源码
def login_view(request):
    if request.method == "GET":
        return render(request, 'carrinho/login.html', {})
    elif request.method == "POST":
        if request.user.is_authenticated():
            return redirect('/')

        nome_usuario = request.POST.get('usuario')
        senha = request.POST.get('senha')
        usuario = authenticate(username=nome_usuario, password=senha)
        if usuario is not None:
            login(request, usuario)
            return redirect('/')
        return redirect('/login/')
    else:
        raise Http404()
项目:habilitacion    作者:GabrielBD    | 项目源码 | 文件源码
def login_mio(request):
  if request.method == "POST":
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(request, username=username, password=password)

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

      return redirect ('select_perfil')

    else:
      messages.error(request, "Usuario y/o contraseña incorrectos.")
      return render(request, 'accounts/login.html')
  else:
    return render(request, 'accounts/login.html')


#seleccionar perfil una vez logueado
项目:pandachaika    作者:pandabuilder    | 项目源码 | 文件源码
def viewer_login(request: HttpRequest) -> HttpResponse:

    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                next_url = request.POST.get('next', 'viewer:main-page')
                return redirect(next_url)
            else:
                return render_error(request, "This account has been disabled.")
        else:
            return render_error(request, "Invalid login credentials.")
    else:
        next_url = request.GET.get('next', 'viewer:main-page')
        d = {'next': next_url}
        return render(request, 'viewer/login.html', d)
项目:til    作者:amitsaha    | 项目源码 | 文件源码
def login_view(request):
    if request.user.is_authenticated:
        return HttpResponseRedirect('/post/')
    if request.method == 'GET':
        form = AuthenticationForm()
        return render(request, 'tilweb/login.html', {'form': form})
    if request.method == 'POST':
        form = AuthenticationForm(request=request, data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user is not None:
                print(user)
                login(request, user)
                return HttpResponseRedirect('/post/')
            else:
                print('User not found')
        else:
            # If there were errors, we render the form with these
            # errors
            return render(request, 'tilweb/login.html', {'form': form})
项目:djabaas    作者:nnsnodnb    | 项目源码 | 文件源码
def change_password(request):
    if request.method == 'POST':
        old = request.POST['old_password']
        new = request.POST['new_password']
        confirm = request.POST['confirm']
        user = User.objects.get(username = request.user.username)
        if user.check_password(old) and new == confirm:
            user.set_password(new)
            user.save()
            logout(request)
            login_user = authenticate(username = user.username, password = new)
            if login_user is not None:
                if login_user.is_active:
                    login(request, login_user)
                    return redirect('push:settings')
                else:
                    return HttpResponse('Login Error', status = 401)
            else:
                return HttpResponse('Login Error', status = 401)
        else:
            return HttpResponse('Login Error', status = 401)
    else:
        return HttpResponse('Access Denied', status = 403)
项目:djabaas    作者:nnsnodnb    | 项目源码 | 文件源码
def confirm(request):
    if request.method == 'GET':
        encrypt_pass = request.GET['token']
        session_id = request.GET['session_id']
        activate_user = UserActivateTokenModel.objects.filter(token = request.GET['session_id'])[0]

        decrypted_pass = encryption.execute_encryption(False, encrypt_pass)

        activate_user.is_user = True
        activate_user.delete()

        user = User.objects.get(username = activate_user.username)
        user.is_active = True
        user.save()
        login_user = authenticate(username = user.username, password = decrypted_pass)
        if login_user is not None:
            if login_user.is_active:
                login(request, login_user)
                return render(request, 'push/top.html', {"is_first": True})
            else:
                return HttpResponse('Login Error', status = 401)
        else:
            return HttpResponse('Login Error', status = 401)
    else:
        return redirect('accounts:login')
项目:bid2charge    作者:soton-agents    | 项目源码 | 文件源码
def do_login(request):
    logger = logging.getLogger("console_logger")
    logger.debug(request)

    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(username = username, password = password)
    if user is not None:
        if user.is_active:
            # Login the user under the current session
            login(request, user)

            # Store the login event
            AccountEvent.log(AccountEvent.LOGIN_EVENT, request)

            # Redirect to the home page
            return HttpResponseRedirect("/webapp/home/")
        else:
            # Return 'disabled account' error message
            return HttpResponse('Your account has been disabled')
    else:
        # Return an 'invalid login' error message
        # return HttpResponse('Invalid Credentials')
        request.session["login_error"] = True
        return HttpResponseRedirect("/accounts/login/")
项目:bid2charge    作者:soton-agents    | 项目源码 | 文件源码
def orchidExistingPlayer(request):
    if request.user.is_authenticated():
        logout(request)

    users = EVUser.objects.filter(experiment__experiment_name=ORCHID_SHOWCASE)

    if request.method == "GET":

        users = sorted(users,key=lambda user:user.username)

        return render(request,"orchid_existing_player.html", Context({"users" : users}))

    else:

        if "user" in request.POST:
            username = request.POST["user"]
            try:
                user = authenticate(username=username,password=ORCHID_PASSWORD)
                login(request, user)
                return HttpResponseRedirect ("/webapp/home/")
            except:
                return render(request,"orchid_existing_player.html", Context({"users" : users,"error_message" : "Something went wrong. Try again."}))
        else:
            return render(request,"orchid_existing_player.html", Context({"users" : users,"error_message" : "Please select a user."}))
项目:Ozone    作者:Samy-33    | 项目源码 | 文件源码
def authenticate_user(request):
    """
    View for authenticating a user
    """

    resp = {'success': False, 'message': ['GET method not allowed']}

    if request.is_ajax():
        username = request.POST.get('username', '')
        password = request.POST.get('password', '')

        user = authenticate(username=username, password=password)

        if user is not None:
            is_activated = user.profile.activated
            login(request, user)

            if not is_activated:
                request = issue_new_csrf_token(request)

            resp = {'success': True, 'is_activated': is_activated}
        else:
            resp = {'success': False, 'message': ['Enter a valid username/password.']}

    return HttpResponse(json.dumps(resp), content_type='application/json')
项目:kolibri    作者:learningequality    | 项目源码 | 文件源码
def create(self, request):

        data = self.extract_request_data(request)

        # we validate the user's input, and if valid, login as user
        serialized_user = self.serializer_class(data=data)
        if serialized_user.is_valid():
            serialized_user.save()
            serialized_user.instance.set_password(data['password'])
            serialized_user.instance.save()
            authenticated_user = authenticate(username=data['username'], password=data['password'], facility=data['facility'])
            login(request, authenticated_user)
            return Response(serialized_user.data, status=status.HTTP_201_CREATED)
        else:
            # grab error if related to username
            error = serialized_user.errors.get('username', None)
            return Response(error, status=status.HTTP_400_BAD_REQUEST)
项目:kolibri    作者:learningequality    | 项目源码 | 文件源码
def create(self, request):
        username = request.data.get('username', '')
        password = request.data.get('password', '')
        facility_id = request.data.get('facility', None)
        user = authenticate(username=username, password=password, facility=facility_id)
        if user is not None and user.is_active:
            # Correct password, and the user is marked "active"
            login(request, user)
            # Success!
            return Response(self.get_session(request))
        elif not password and FacilityUser.objects.filter(username=username, facility=facility_id).exists():
            # Password was missing, but username is valid, prompt to give password
            return Response({
                "message": "Please provide password for user",
                "missing_field": "password"
            }, status=status.HTTP_400_BAD_REQUEST)
        else:
            # Respond with error
            return Response("User credentials invalid!", status=status.HTTP_401_UNAUTHORIZED)