示例#1
0
def login_request(request):
    sig_error = None
    if request.POST:
        logger.info('User login')
        form = SignInForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('user_name')
            password = form.cleaned_data.get('password')
            logger.info('validate user', username)
            user = authenticate(username=username, password=password)
            if user is not None:
                sys_login(request, user)
                logger.info('User', username)
                messages.info(request, f"You are now logged in as {username}")
                return HttpResponseRedirect('/')
            else:
                logger('incorrect user')
                sig_error = "Invalid username or password."
        else:
            logger.info('Invalid user login')
            sig_error = "Invalid username or password."

        for error in form.errors:
            sig_error = form.errors[error]
            break

    logger.info('login load page')

    form = SignInForm(request.POST)
    return render(request,
                  'login.html',
                  context={
                      'form': form,
                      'sig_error': sig_error,
                  })
示例#2
0
def login(request):
    form = LoginForm(request.POST or None)
    messages = None
    if form.is_valid():
        username = form.cleaned_data.get('username')
        password = form.cleaned_data.get('password')
        user = authenticate(username=username, password=password)
        if user and user.is_active:
            if not request.POST.get('remember', None):
                request.session.set_expiry(0)

            sys_login(request, user)
            user_session = USession()
            user_session.id = user.id
            user_session.user_id = user.id
            user_session.email = user.email
            user_session.first_name = user.first_name
            user_session.last_name = user.last_name
            user_session.is_superuser = user.is_superuser
            user_session.full_name = user.get_full_name()
            request.session['my'] = model_to_dict(user_session)
            return redirect('dashboard')
        else:
            messages = ['Invalid password or username.']

    return render(request, "pages/login.html", {
        "form": form,
        'messages': messages
    })
示例#3
0
def register(request):
    """
    main logic to do register a newly user to our system.
    """
    # if the request is POST, means we have the data to process further.
    if request.method == 'POST':
        logger.info('POST form')
        # create a form instance and populate it with data from the request:
        form = RegisterForm(request.POST)

        # check whether it's valid:
        if form.is_valid():
            logger.info('Valid form')
            # process the data in form.cleaned_data as required
            # ...
            # redirect to a new URL:
            user_name = form.cleaned_data['id_username_r']
            password = form.cleaned_data['id_password_r']

            logger.info('Username:'******'/')
        return render(request, '404.html', None)
示例#4
0
def profile_confirm_email(request):
    user_id = int(request.GET.get('user', None))
    email = request.GET.get('email', None)
    key = request.GET.get('key', None)
    if user_id is None or email is None or key is None:
        raise Exception('CONFIRM_EMAIL_NO_PARAMETER')
    try:
        user = CustomUser.objects.get(pk=user_id)
        if date.today() - timedelta(days=3) > user.send_date:
            messages.add_message(request, messages.SUCCESS, _('Expired confirmation link.'))
            return HttpResponseRedirect(reverse('home:notify'))
        if user.id == user_id and user.email == email and user.confirm_key == key:
            if not user.confirmed:
                user.confirmed = True
                user.confirm_date = date.today()
                user.save()
            if not request.user.is_authenticated():
                auth_user = authenticate(username=user.email, password=None)
                sys_login(request, auth_user)
            return HttpResponseRedirect(reverse('security:email_settings'))
    except CustomUser.DoesNotExist:
        messages.add_message(request, messages.SUCCESS,
                             _('User with email {0} does not exist in system.'.format(email)))
        return HttpResponseRedirect(reverse('home:notify'))
    raise Exception
示例#5
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            form.save()
            user = authenticate(username=request.POST['email'], password=request.POST['password1'])
            if user is not None:
                sys_login(request, user)
            return HttpResponseRedirect(reverse('security:profile'))
    else:
        form = RegisterForm()
    return render(request, 'security/register.html', {'form': form})
示例#6
0
def login(request):
    if request.user.is_authenticated:
        return HttpResponseRedirect('/index')
    else:
        if request.method == 'GET':
            return render(request, 'login.html')
            #return render_to_response('login.html')
        else:
            if 'username' in request.POST and 'password' in request.POST:
                user = authenticate(username=request.POST['username'],
                                    password=request.POST['password'])
                if user is not None:
                    sys_login(request, user)
            return HttpResponseRedirect('/index')
示例#7
0
def login(request):
    result = {}
    if request.method == "POST":
        post_args = request.POST
        email = post_args.get("email", "邮箱错误")
        pwd = post_args.get("pwd")
        vercode = post_args.get("vercode")
        remember = post_args.get("remember")
        save_code = request.session["v_code"]
        if check_email(email):
            users = PythonUser.objects.filter(username=email)
            vercode = vercode.upper()
            if users:
                if vercode != save_code:
                    result["code"] = "004"
                    result["message"] = "验证码输入不正确"
                else:
                    for user_ in users:
                        # print(check_password(pwd, user.pwd))
                        if check_password(pwd, user_.password):
                            result["code"] = "001"
                            result["message"] = "登入成功"
                            request.session['username'] = user_.email
                            user = authenticate(username=email, password=pwd)
                            sys_login(request, user)
                            # context = {}
                            # context['email'] = email
                            # request.session['msg'] = context
                        else:
                            result["code"] = "005"
                            result["message"] = "密码输入不正确"
            else:
                result["code"] = "003"
                result["message"] = "邮箱不存在"
        else:
            result["code"] = "002"
            result["message"] = "邮箱格式不正确"
        return JsonResponse(result)
    elif request.method == "GET":
        # render 渲染 加载网页
        return render(request, "login.html")
    return HttpResponse("请求异常")
示例#8
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     # 如果LoginForm校验通过
     if login_form.is_valid():
         user_name = request.POST.get('username', '')
         pass_word = request.POST.get('password', '')
         # 如果用户验证成功,会返回用户对象,否则返回None
         user = authenticate(request,
                             username=user_name,
                             password=pass_word)
         if user is not None:
             if user.is_active:
                 sys_login(request, user)
                 return render(request, 'index.html', {})
             else:
                 return render(request, 'login.html', {'msg': '用户未激活'})
         else:
             return render(request, 'login.html', {'msg': '用户名或者密码错误'})
     else:
         return render(request, 'login.html', {'login_form': login_form})