Example #1
0
def connexion(request):
    error = False
    
    if request.method == 'POST':
        form = ConnexionForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            remember = form.cleaned_data["remember"]
            
            user = authenticate(username=username, password=password)
            if user:
                login(request, user)
                
                # On retient l'utilisateur
                if remember:
                    remember_user(request, user)
                    
                txtmessage = _('Vous êtes maintenant connecté.')
                messages.add_message(request, messages.SUCCESS, txtmessage)
            else:
                error = True
        else:
                error = True
    else:
        form = ConnexionForm()
    
    return render(request, 'users/connexion.html', {'form':form, 'error':error})
Example #2
0
def account_login(request):
    form = LoginForm(request.POST or None)
    redirect_to = request.REQUEST.get('next', '')

    if request.method == "GET":
        if redirect_to and request.user.is_authenticated():
            return HttpResponseRedirect(redirect_to)

    if request.method == 'POST':
        if form.is_valid():
            if not redirect_to:
                redirect_to = settings.LOGIN_REDIRECT_URL

            data = form.cleaned_data
            user = authenticate(
                    username=data['username'],
                    password=data['password'])

            if user:
                login(request, user)
                if data['remember_me']:
                    remember_user(request, user)
                return HttpResponseRedirect(redirect_to)
            else:
                form.add_non_field_error(
                        _("Sorry, you have entered wrong E-mail or Password"))

    return render_to_response('account_login.html',
            RequestContext(request, {
                    'form': form,
                    'next': redirect_to,
                    }))
Example #3
0
def login(request, username, password, remember_me):
    logger.debug("login: username: %s;password: %s" % (username, password))
    form = LoginForm({'username': username, 'password': password})
    if not form.is_valid():
        logger.debug("form is invalid")    
        logger.warn(form.errors)
        return simplejson.dumps({'ret_code': 1000, 'ret_msg': u'用户名或密码格式不正确!'})

    data = form.cleaned_data
    logger.debug("username: %s; password: %s" % (data['username'], data['password']))
    user = auth.authenticate(username=data['username'], password=data['password'])
    if user is None:
        logger.debug("user is not authenticated")
        return simplejson.dumps({'ret_code': 1000, 'ret_msg': u'用户名或密码不正确!'})

    if not user.is_active:
        logger.debug("user is not active")
        return simplejson.dumps({'ret_code': 1000, 'ret_msg': u'账号被锁定,登录失败!'})

    logger.debug("user is authenticated")
    auth.login(request, user)
    if remember_me:
        remember_user(request, user)

    return simplejson.dumps({'ret_code': 0})
Example #4
0
def account_login(request):
    form = LoginForm(request.POST or None)
    redirect_to = request.REQUEST.get('next', '')

    if request.method == "GET":
        if redirect_to and request.user.is_authenticated():
            return HttpResponseRedirect(redirect_to)

    if request.method == 'POST':
        if form.is_valid():
            if not redirect_to:
                redirect_to = settings.LOGIN_REDIRECT_URL

            data = form.cleaned_data
            user = authenticate(username=data['username'],
                                password=data['password'])

            if user:
                login(request, user)
                if data['remember_me']:
                    remember_user(request, user)
                return HttpResponseRedirect(redirect_to)
            else:
                form.add_non_field_error(
                    _("Sorry, you have entered wrong E-mail or Password"))

    return render_to_response(
        'account_login.html',
        RequestContext(request, {
            'form': form,
            'next': redirect_to,
        }))
Example #5
0
File: auth.py Project: dylz/flavrs
    def login(self):
        """
        Attempt to log a user in.
        Currently, Flavrs uses Oauth2 to do this process. The main reason for
        this decision was to easily allow outside API usage in the future without
        a refactor.

        The Django app responsible is:
        https://github.com/caffeinehit/django-oauth2-provider

        For integrity and security reasons, the decision was made not to use
        the default URLS provided from django-oauth2-provider directly and use
        a wrapper for them instead.

        The reason for this was to prevent having to write an exception outside
        of the Flavrs url schema.

        Lastly, until further testing of django-oauth2-provider views is done,
        a request from this function will be made directly to the proper oauth
        url. This method is slower, but more reliable.

        """

        url = get_home_url()+reverse('oauth2:access_token')
        r = requests.post(url,data=self.data)
        
        #Now, lets check if the user authenticated successfully.

        self._set_log({'status': 'error'})

        response = ast.literal_eval(r.text)
        if response.get('access_token',False):
            #Access token granted, lets log them in through Django so the 
            #session gets created properly.
            user = authenticate(username=self.data['username'],
                                    password=self.data['password'])
            if user is not None and user.is_active:
                if self.data.get('remember_me', None):
                   remember_user(self.request,user) 
                login(self.request,user)
                self._set_log({
                    'status': 'success',
                    'msg': 'Login Successful. Welcome!',
                    'response': response
                })
            else:
                self._set_log({
                    'level': 'validation',
                    'msg': 'Account No Longer Active.'
                })

        else:
            #Users login failed
            self._set_log({
                'level': 'validation',
                'msg': 'Login Credentials Were Incorrect.'
            })

        return response
Example #6
0
def login(request):
    form = LoginForm(request.POST or None)
    if form.is_valid():
        data = form.cleaned_data

        user = auth.authenticate(
            username=data['username'], password=data['password'])

        if user:
            auth.login(request, user)
            if data['remember_me']:
                remember_user(request, user)
        else:
            form.add_non_field_error(_("Invalid username/password"))

    return TemplateResponse(request, 'login.html', {
        'form': form,
        'user': request.user
    })
def login(request):
    form = LoginForm(request.POST or None)
    if form.is_valid():
        data = form.cleaned_data

        user = auth.authenticate(username=data['username'],
                                 password=data['password'])

        if user:
            auth.login(request, user)
            if data['remember_me']:
                remember_user(request, user)
        else:
            form.add_non_field_error(_("Invalid username/password"))

    return TemplateResponse(request, 'login.html', {
        'form': form,
        'user': request.user
    })
Example #8
0
    def test_middleware_set_remember_token(self):
        from auth_remember import remember_user
        from auth_remember import settings
        from auth_remember.middleware import AuthRememberMiddleware

        request = self.factory.get('/')
        response = HttpResponse("Test response")

        # Do nothing (no cookies should be set)
        middleware = AuthRememberMiddleware()
        middleware.process_response(request, response)
        self.assertFalse(response.cookies)

        # Set remember user (sets the remember token)
        remember_user(request, self.user)
        middleware.process_response(request, response)
        self.assertTrue(response.cookies)
        cookie = response.cookies[settings.COOKIE_NAME]

        # Validate the remember token in the cookie
        user = auth.authenticate(token_string=cookie.value, request=request)
        self.assertEqual(self.user, user)
Example #9
0
    def test_middleware_set_remember_token(self):
        from auth_remember import remember_user
        from auth_remember import settings
        from auth_remember.middleware import AuthRememberMiddleware

        request = self.factory.get('/')
        response = HttpResponse("Test response")

        # Do nothing (no cookies should be set)
        middleware = AuthRememberMiddleware()
        middleware.process_response(request, response)
        self.assertFalse(response.cookies)

        # Set remember user (sets the remember token)
        remember_user(request, self.user)
        middleware.process_response(request, response)
        self.assertTrue(response.cookies)
        cookie = response.cookies[settings.COOKIE_NAME]

        # Validate the remember token in the cookie
        user = auth.authenticate(token_string=cookie.value, request=request)
        self.assertEqual(self.user, user)