def login_view(request):
    if (request.method == 'POST'):
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect('/')
                else:
                    return render_to_response(
                        'login.html',
                        RequestContext(request, {
                            'form': form,
                            'error': False
                        }))
            else:
                return render_to_response(
                    'login.html',
                    RequestContext(request, {
                        'form': form,
                        'error': True
                    }))
        else:
            return render_to_response('login.html',
                                      RequestContext(request, {'form': form}))
    else:
        form = LoginForm()
        return render_to_response('login.html',
                                  RequestContext(request, {'form': form}))
Example #2
0
    def post(self, request):

        form = LoginForm(request.POST)

        # Prepara a página de redirecionamento após o login.
        next_page = request.GET.get('next')
        if next_page is None:
            next_page = 'dashboard'

        if not form.is_valid():
            messages.error(request, 'Form Invalid.')
            context = {
                'form': form,
            }
            return render(request, 'web/login.html', context)

        user = form.cleaned_data['login']
        password = form.cleaned_data['password']

        user_auth = authenticate(request, username=user, password=password)
        # Se o usuário foi autenticado com sucesso, realize abra a sessão.
        if user_auth is not None:
            login(request, user_auth)
            return redirect(next_page)
        else:
            messages.error(request, 'Login and/or password incorrect.')
            context = {
                'form': form,
            }
            return render(request, 'web/login.html', context)
Example #3
0
def login(request):
    if request.method == 'GET':
        form = LoginForm()
        return render(request, 'login.html', {'form': form})
    else:
        form = LoginForm(request.POST)
        if form.is_valid():
            username = request.POST.get('username', '')
            password = request.POST.get('password', '')
            check_code = request.POST.get('checkcode', '')
            session_code = request.session["CheckCode"]
            user = auth.authenticate(username=username, password=password)
            if user is not None and user.is_active:
                if check_code.lower() != session_code.lower():
                    return render(request, 'login.html', {
                        'form': form,
                        'check_code_is_wrong': True
                    })
                else:
                    auth.login(request, user)
                    return HttpResponseRedirect("/accounts/index/")
            else:
                return render(request, 'login.html', {
                    'form': form,
                    'password_is_wrong': True
                })
        else:
            return render(request, 'login.html', {'form': form})
Example #4
0
 def post(self, request, *args, **kwargs):
     login_form_obj = LoginForm(request.POST)
     if login_form_obj.is_valid():
         request.session.clear_expired()
         request.session["already_login"] = True
         if request.POST.get("remember"):
             request.session.set_expiry(30 * 24 * 60 * 60)
         return redirect("/index.html")
     else:
         return render(request, "login.html", locals())
Example #5
0
def login(request):
    """
    登陆,采用ajax操作
    :param request:
    :return:
    """
    if request.method == "GET":
        return render(request, 'login.html')
    elif request.method == "POST":
        ret = {"status": True, "error": None, "data": None}
        login_obj = LoginForm(request.POST)
        if login_obj.is_valid():  # 登录form验证
            if request.session['CheckCode'].upper() == request.POST.get(
                    'check_code').upper():
                username = login_obj.cleaned_data.get("username")  # 获取用户输入的用户名
                password = login_obj.cleaned_data.get("password")  # 获取用户输入的密码
                m_obj = hashlib.md5()  # 获取一个md5加密对象
                m_obj.update(password.encode())
                password = m_obj.hexdigest()  # 加密用户输入的密码
                user_obj = models.UserInfo.objects.filter(
                    username=username, password=password).first()
                if user_obj:
                    request.session.clear_expired(
                    )  # 将所有Session失效日期小于当前日期的数据删除
                    request.session["username"] = username  # 创建session
                    remember = login_obj.cleaned_data.get("remember")
                    if remember:  # 用户选择一个月免登录
                        request.session.set_expiry(2592000)  # 设定过期时间在1个月之后
                else:  # 获取不到用户对象,说明密码错误
                    ret["status"] = False
                    ret["error"] = {
                        "password": [{
                            "code": "invalid",
                            "messages": "密码错误"
                        }]
                    }
            else:  # 验证码不通过
                ret["status"] = False
                ret["error"] = {
                    "check_code": [{
                        "code": "invalid",
                        "messages": "验证码错误"
                    }]
                }
        else:  # form验证不通过
            ret["status"] = False
            ret["error"] = login_obj.errors.as_data()
        result = json.dumps(ret, cls=JsonCustomEncoder)
        return HttpResponse(result)
Example #6
0
def login(request):
	if request.method == 'GET':
		auth = request.COOKIES.get('auth')
		#check whether user is logged in
		if not auth:
			logged_in = False
		else:
			resp = checkauth_exp_api(auth)
			if (resp["ok"] == True):
				user_id = resp["resp"]["user_id"]
				logged_in = True
				return HttpResponseRedirect(reverse("home"))
		login_form = LoginForm()
		next = request.GET.get('next') or reverse('home')
		return render(request, 'login.html', {"state": "", 'next':next, 'login_form': login_form})
	login_form = LoginForm(request.POST)
	if not login_form.is_valid():
		return render(request, "login.html", {'state': "Invalid Input", 'login_form': login_form})
	username = login_form.cleaned_data['username']
	password = login_form.cleaned_data['password']
	#hashed_password = hashers.make_password(password)
	next = login_form.cleaned_data.get('next') or reverse('home')
	# get response from login experience service
	params = urllib.parse.urlencode({'username': username, 'password': password})
	url = 'http://' + settings.EXP_API + ':8000/login/?%s' % params
	req = urllib.request.Request(url)
	resp_json = urllib.request.urlopen(req).read().decode('utf-8')
	resp = json.loads(resp_json)
	if (resp["ok"] == False):
		# login unsucessful, reutrn error on login page
		key = get_cache_key(request, key_prefix=None)
		expire_view_cache(request, "login")
		return render(request, 'login.html', {"state": "Invalid username and/or password", 'login_form': login_form})
	if (resp["ok"] == True):
		# login worked and returned authenticator
		user_id = resp["resp"]["user_id"]
		authenticator = resp["resp"]["authenticator"]
	# if the user is a vendor, update their corresponding vendor page
	resp = isuservendor_exp_api(user_id)
	if (resp["ok"] == True):
		is_vendor = resp["resp"]["is_vendor"]
		if (is_vendor == True):
			users_vendor_id = resp["resp"]["vendor_id"]
			expire_view_cache(request, "vendor", [users_vendor_id])
	expire_view_cache(request, "home")
	response = HttpResponseRedirect(reverse('home'))
	response.set_cookie("auth", authenticator)
	return response
Example #7
0
 def post(self, request):
     form = LoginForm(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 None:
             self.error_messages.append(_('User does not exist'))
         else:
             if user.is_active:
                 django_login(request, user)
                 return redirect('home')
             else:
                 self.error_messages.append(_('User not active'))
     self.context = {'errors': self.error_messages, 'form': form}
     return render(request, 'user/login.html', self.context)
Example #8
0
def loginView(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(request, username=username, password=password)
            if user is not None:
                login(request, user)
                BonusService.bonus_login(user, request)
                return redirect('home')
            else:
                messages.add_message(request, messages.INFO, 'Invalid username or password', 'alert-danger')
    else:
        form = LoginForm()
    return render(request, 'login.html', {'form': form})
Example #9
0
def login(request):
    if request.method == 'GET':
        return render(request, 'login.html', context={
            'form': LoginForm(),
        })
    else:
        form = LoginForm(data=request.POST, request=request)  # 需要传的参数是data+request, 只传data是不够的!
        if form.is_valid():  # LoginForm继承了AuthenticationForm, 会自动完成认证
            auth.login(request, form.get_user())
            # 将用户登陆
            redirect_to = request.GET.get(key='next', default=reverse('web:personal'))  # 重定向到要访问的地址,没有的话重定向到首页
            return HttpResponseRedirect(redirect_to)
        else:  # 认证失败
            return render(request, 'login.html', context={
                'form': form
            })
Example #10
0
def Login(request):
    if request.method == 'POST':
        loginform = LoginForm(request.POST, request.FILES)
        if loginform.is_valid():
            user_name = request.POST.get("name","")
            user_password = request.POST.get("password","")
            is_name_exist=User.objects.filter(name = user_name).exists()
            is_password_exist=User.objects.filter(password = user_password).exists()
            if is_name_exist or is_password_exist:
                return render_to_response('uploadOK.html')
            else:
                return render_to_response('login.html',{'error_msg':'用户名或密码错误'})
        else:
            return render_to_response(getFormTips(loginform)) 
    else:
        loginform = LoginForm(initial ={'name': 'sunshore'})
        return render_to_response('login.html')
Example #11
0
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 HttpResponseRedirect(reverse('cabinet'))
                else:
                    return HttpResponse('Disabled account')
            else:
                return HttpResponse('Invalid login')
    else:
        form = LoginForm()
    return render(request, 'login/login.html', {'form': form})
Example #12
0
def login(request):
    users = CustomUser.objects.top_5()
    tags = Tag.objects.popular()
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            user = form.save()
            auth_login(request, user)
            return redirect("home")
    else:
        form = LoginForm()
    context = {
        "auth": request.user,
        "form": form,
        "users": users,
        "tags": tags,
    }
    return render(request, "web/login.html", context)
def login_view(request):
    if(request.method == 'POST'):
        form = LoginForm(request.POST)
        if form.is_valid():
            username=form.cleaned_data['username']
            password=form.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect('/')
                else:
                    return render_to_response('login.html', RequestContext(request, {'form': form, 'error': False}))
            else:
                return render_to_response('login.html', RequestContext(request, {'form': form, 'error': True}))
        else:
            return render_to_response('login.html', RequestContext(request, {'form': form}))
    else:
        form = LoginForm()
        return render_to_response('login.html', RequestContext(request, {'form': form}))
Example #14
0
def login_view(request):
  next_page = reverse('organize') # Hard-coded for now

  if request.user.is_authenticated():
    return redirect(next_page)

  if request.method == 'POST':
    form = LoginForm(data=request.POST)
    if form.is_valid():
      user = form.login(request)
      if user:
        login(request, user)
        return redirect(next_page + '#create-event')
  else:
    form = LoginForm()

  return render(request, 'organize/organize.html', {
    'login_form': form,
    'create_event_form': EventForm(),
  })
Example #15
0
def login_view(request):
  next_page = reverse('organize') # Hard-coded for now

  if request.user.is_authenticated():
    return redirect(next_page)

  if request.method == 'POST':
    form = LoginForm(data=request.POST)

    if form.is_valid():
      user = form.login(request)
      if user:
        login(request, user)
        return redirect(next_page + '#create-event')
  else:
    form = LoginForm()

  return render(request, 'organize/organize.html', {
    'login_form': form,
    'create_event_form': EventForm(),
  })
Example #16
0
def login_view(request):
    # check if the form has been submitted
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    # Redirect to a success page.
                    return redirect('item_list')
                else:
                    # Return a 'disabled account' error message
                    context = {'header_tab': 'account',
                                'form': form,
                                }
                    return render(request, 'web/accounts/login.html', context)
            else:
                # Return an 'invalid login' error message
                context = {'header_tab': 'account',
                            'form': form,
                            }
                return render(request, 'web/accounts/login.html', context)
        else:
            # Return an 'invalid form' error message
            context = {'header_tab': 'account',
                        'form': form,
                        }
            return render(request, 'web/accounts/login.html', context)
    else:
        # Return the login form
        character_class = CharacterClass.objects.all()
        form = LoginForm()
        context = {'header_tab': 'account',
                    'form': form,
                    }
        return render(request,'web/accounts/login.html', context)
Example #17
0
def login_view(request):

    global loggedin

    if loggedin is 'true':
        return redirect('web:login_index')

    else:
        if request.method == 'POST':
            form = LoginForm(data=request.POST)
            if form.is_valid():
                user = form.get_user()
                loggedin = 'true'
                login(request, user)
                if 'next' in request.POST:
                    return redirect(request.POST.get('next'))
                else:
                    return redirect('web:login_index')

        else:
            form = LoginForm()
        return render(request, 'web/login.html', {'form': form})
Example #18
0
def login(request):
    response = HttpResponseRedirect(reverse('home'))
    if request.method != 'POST': return response
    login_form = LoginForm(request.POST)
    if not login_form.is_valid():
        return render(request, 'index.html', {"message": "Invalid username or password", 'login_form': login_form})
    username = login_form.cleaned_data['username']
    password = login_form.cleaned_data['password']
    data = urllib.parse.urlencode({'username': username, 'password': password})
    url = 'http://' + settings.EXP_API + ':8000/api/auth/login?%s' % data
    req = urllib.request.Request(url)
    resp_json = urllib.request.urlopen(req).read().decode('utf-8')
    resp = json.loads(resp_json)
    ## clear cache
    r.set('gallery','null')
    if (resp["ok"] == False):
        return render(request, 'index.html', {"message": "Invalid username or password", 'login_form': login_form})
    if (resp["ok"] == True):
        user_id = resp["resp"]["user_id"]
        auth_key = resp["resp"]["auth_key"]
        response.set_cookie("auth_key", auth_key)
        return response
def login(request):
    """
    用户登录
    1.ajax发送请求
    2.表单验证用户名密码合法性
    3.若验证合法,且选中记住单选框,设置session保持登录状态
    4.将验证结果返回到前端
    :param request:
    :return:
    """
    if request.method == 'GET':
        return render(request, 'login.html')
    else:
        result = {'status': False, 'errors': None}
        form = LoginForm(request=request, data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            pwd = form.cleaned_data.get('pwd')
            user_info = UserInfo.objects.filter(username=username,
                                                pwd=pwd).values(
                                                    'id',
                                                    'nickname',
                                                    'pwd',
                                                    'username',
                                                    'email',
                                                    'img',
                                                    'blog',
                                                    'blog__suffix',
                                                ).first()
            result['status'] = True
            request.session['user_info'] = user_info
            PermissionHelper(request, username, pwd)
            if form.cleaned_data.get('remember'):
                request.session.set_expiry(60 * 60 * 24 * 30)
        else:
            result['errors'] = form.errors
        return JsonResponse(result)
Example #20
0
def log_in(request):
    if request.user.is_authenticated:
        return redirect('index')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            cleaned_data = form.cleaned_data
            user = authenticate(username=cleaned_data['username'],
                                password=cleaned_data['password'])
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect('index')
                else:
                    messages.add_message(
                        request, messages.INFO,
                        'Rejestracja musi zostać zaakceptowana przez administratora'
                    )
            else:
                messages.add_message(request, messages.INFO,
                                     'Nieprawidłowe dane uwierzytelniające.')
    else:
        form = LoginForm()
    return render(request, 'account/login.html', {'form': form})