def change_language(request):
    """
    This is a modified version of i18n's version of set_language which
    supports GET requests as well.

    Original description:
    Redirect to a given url while setting the chosen language in the
    session or cookie. The url and the language code need to be
    specified in the request parameters.
    """

    response = HttpResponseRedirect(get_next_url(request))
    lang_code = request.POST.get('language', request.GET.get("language", None))

    if lang_code and check_for_language(lang_code):
        if hasattr(request, 'session'):
            request.session[LANGUAGE_SESSION_KEY] = lang_code
        else:
            cookieKwargs = {}
            _set_key(cookieKwargs, "max_age", "LANGUAGE_COOKIE_AGE")
            _set_key(cookieKwargs, "path", "LANGUAGE_COOKIE_PATH")
            _set_key(cookieKwargs, "domain", "LANGUAGE_COOKIE_DOMAIN")

            response.set_cookie(
                settings.LANGUAGE_COOKIE_NAME, lang_code, **cookieKwargs
            )

    return response
Ejemplo n.º 2
0
def index(request: HttpRequest):
    next_, username, password = "", "", ""

    if request.GET:
        next_ = request.GET.get('next', "")
    if request.POST:
        username = request.POST.get("username", "")
        password = request.POST.get('password', "")
        user = authenticate(username=username, password=password)
        if user:
            django_login(request, user)
            response = HttpResponseRedirect(
                next_ or "/console/", {"emails": EmailAddresses.objects.all()})
            response.set_cookie("token", generate_auth_token(
                username, password, expiration=2), httponly=True)
            response.set_cookie("refreshToken", generate_auth_token(
                username, password, expiration=3600), httponly=True)
            return response
    return render(
        request,
        "index.html", {
            'username': username,
            'next': next_,
        }
    )
Ejemplo n.º 3
0
def login_handle(request):
    post=request.POST
    jizhu = post.get("jizhu")
    usname = post.get("username")
    upwd = post.get("pwd")
    print(usname,upwd)
    s1=sha1()
    s1.update(upwd.encode())
    passwd2 = s1.hexdigest()
    info = UserInfo.objects.filter(uname=usname)
    if info.count()==0:
        context={'title':'登录','info':'用户名不存在','error_name':1, 'error_pwd':0,'page_name': 0,'error_login':0,}
        return render(request,'df_user/login.html',context)
    print(info[0].upwd)
    if passwd2!=info[0].upwd:
        context={'title':'登录','info':'密码错误','error_pwd':1, 'error_name':0,'page_name': 0,'error_login':0,'uname':usname,}
        return render(request,'df_user/login.html',context)
    context={'uname':usname}
    url = request.COOKIES.get('url', '/user/info')
    request.session['userid'] = info[0].id
    request.session['username'] = info[0].uname
    request.session['islogin']=1
    red = HttpResponseRedirect(url) 
    print(url)
    if jizhu:
        red.set_cookie('uname', usname)
    else:
        red.set_cookie('uname', '')
   # return render(request,'df_user/user_center_info.html',context)
    return red 
Ejemplo n.º 4
0
def authorize_callback(request):
    print(request.GET)
    token = oauth.Token(request.session["oauth_token"],
                        request.session["oauth_token_secret"])
    token.set_verifier(request.GET["oauth_verifier"])
    new_client = oauth.Client(consumer, token)
    resp, content = new_client.request(
        "https://api.twitter.com/oauth/access_token", method="POST")
    print(content)

    if resp["status"] != "200":
        raise Exception("Error while twitter request " + resp["status"])

    new_tokens = dict(parse.parse_qsl(content.decode("UTF-8")))

    print(new_tokens)

    del request.session["oauth_token"]
    del request.session["oauth_token_secret"]

    original_token = oauth.Token(new_tokens["oauth_token"],
                                 new_tokens["oauth_token_secret"])
    original_client = oauth.Client(consumer, original_token)

    resp, content = original_client.request(
        "https://api.twitter.com/1.1/account/verify_credentials.json?skip_status=true",
        method="GET")
    if resp["status"] != "200":
        raise Exception("Error while twitter request " + resp["status"])

    user_json = json.loads(content.decode("UTF-8"))
    print(user_json)

    try:
        user = User.objects.get(id=user_json["id"])
        new_auth_token = uuid4()
        user.remember_me_token = new_auth_token
        user.lang = user_json["lang"]
        user.profile_icon = user_json["profile_image_url"]
        user.oauth_token = new_tokens["oauth_token"],
        user.oauth_secret = new_tokens["oauth_token_secret"]
        user.save()
    except User.DoesNotExist:
        new_user = User(id=user_json["id"],
                        user_name=user_json["name"],
                        lang=user_json["lang"],
                        profile_icon=user_json["profile_image_url"],
                        oauth_token=new_tokens["oauth_token"],
                        oauth_secret=new_tokens["oauth_token_secret"])
        new_user.save()
        new_auth_token = new_user.remember_me_token

    response = HttpResponseRedirect("/")

    response.set_cookie(settings.AUTH_COOKIE_KEY,
                        new_auth_token,
                        max_age=3 * 24 * 60 * 60)
    response.set_cookie("lang", user_json["lang"], max_age=30 * 24 * 60 * 60)

    return response
Ejemplo n.º 5
0
    def process_response(self, request, response):
        if request.method == 'POST':
            language = request.POST.get('language')
            action = request.POST.get('action')
            if action == 'set_language' and check_for_language(language):
                host = request.get_host()
                next_url = request.GET.get('next', None)
                referer = request.META.get('HTTP_REFERER', None)

                if next_url:
                    if is_safe_url(url = next_url, host = host):
                        response = HttpResponseRedirect(next_url)
                elif referer:
                    if is_safe_url(url = referer, host = host):
                        referer_url = urlparse(referer)[2]
                        try:
                            # http://wenda.soso.io/questions/275666/django-templates-get-current-url-in-another-language
                            view = resolve(referer_url)
                            with translation.override(language):
                                next_url = reverse(view.view_name, args = view.args, kwargs = view.kwargs)
                                response = HttpResponseRedirect(next_url)
                        except (Resolver404, NoReverseMatch):
                            pass

                if hasattr(request, 'session'):
                    request.session[translation.LANGUAGE_SESSION_KEY] = language
                else:
                    response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age = settings.LANGUAGE_COOKIE_AGE, path = settings.LANGUAGE_COOKIE_PATH, domain = settings.LANGUAGE_COOKIE_DOMAIN)

        return response
Ejemplo n.º 6
0
def login(request):
    if request.method == 'POST':
        print('post:', request.POST)
        username = request.POST.get('username')
        password = request.POST.get('password')
        print('user_name:', username, 'password:'******'login success: userType:', userType)
            response = HttpResponseRedirect('/DiningOAM/index/')
            response.set_cookie('username', username, 3600)
            response.set_cookie('type', userType, 3600)
            # response.set_cookie('house_name', house_name, 3600)
            return response
        else:
            print('非法登录!')
            return HttpResponseRedirect('/DiningOAM/login/')
    else:
        print('redirect to login.html')
        return HttpResponseRedirect('/DiningOAM/login/')
Ejemplo n.º 7
0
def user_login(request):
    if request.method == "POST":
        username = request.POST["username"]
        password = request.POST["password"]

        user = authenticate(username=username, password=password)
        if user:
            login(request, user)
            if user.is_authenticated:
                if user.is_superuser:
                    return HttpResponseRedirect("index/")
                else:
                    messages.success(request, " Successfully Logged in ")
                    res = HttpResponseRedirect("index/")
                    if "rememberme" in request.POST:
                        res.set_cookie("user_id", user.id)
                        res.set_cookie("date_login", datetime.now())
                    return res
            else:
                return HttpResponseRedirect("index/")
        else:
            messages.success(request, "Incorrect username or Password")
            return render(request, "account/login.html")

    return render(request, "account/login.html")
Ejemplo n.º 8
0
    def get(self, *args, **kwargs):
        lang = kwargs.pop('lang')
        next_url = self.request.GET.get('next')
        if (next_url or not self.request.is_ajax()) and not is_safe_url(url=next_url, host=self.request.get_host()):
            next_url = self.request.META.get('HTTP_REFERER')
            if next_url:
                next_url = urlunquote(next_url)  # HTTP_REFERER may be encoded.
            if not is_safe_url(url=next_url, host=self.request.get_host()):
                next_url = '/'
        response = HttpResponseRedirect(next_url) if next_url else HttpResponse(status=204)

        if lang and check_for_language(lang):
            if next_url:
                if lang == 'ru':
                    next_trans = re.sub("/en/", "/", next_url)
                else:
                    next_trans = translate_url(next_url, lang)
                if next_trans != next_url:
                    response = HttpResponseRedirect(next_trans)
            translation.activate(lang)
            if hasattr(self.request, 'session'):
                self.request.session[translation.LANGUAGE_SESSION_KEY] = lang
            else:
                response.set_cookie(
                    settings.LANGUAGE_COOKIE_NAME, lang,
                    max_age=settings.LANGUAGE_COOKIE_AGE,
                    path=settings.LANGUAGE_COOKIE_PATH,
                    domain=settings.LANGUAGE_COOKIE_DOMAIN,
                )
        return response
Ejemplo n.º 9
0
 def wrapper(request, *args, **kwargs):
     if request.session.get(
             "uid") is None or request.session.get_expiry_age() <= 1:
         # 如果未登陆状态,或者会话过期执行此分支
         # 获取用户登陆前访问的网址,用于登陆后,返回
         # 获取用户登陆前的url
         full_path = request.get_full_path()
         # 如果直接登陆,则转到首页
         if full_path == "/user/login":
             full_path = "/"
         # 判断是否通过AJAX访问
         if request.is_ajax():
             json = JsonResponse({
                 'redirect': '1',
                 'address': '/user/login'
             })
             json.set_cookie('url', full_path)
             return json
         else:
             red = HttpResponseRedirect("/user/login")
             red.set_cookie('url', full_path)
             return red
     else:
         # 更新会话
         request.session.modified = True
         return func(request, *args, **kwargs)
Ejemplo n.º 10
0
def login(request):
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            data = login_form.cleaned_data
            user = authenticate(username=data['username'],
                                password=data['password'])

            if user is not None:
                log_user_in(request, user)
                id = user.userclipboard.clipboard_id
                response = HttpResponseRedirect(reverse('main'))
                response.set_cookie('clipboard-id', id)
                return response
            else:
                login_form = LoginForm()
                return render(
                    request, 'clipper/login.html', {
                        'form':
                        login_form,
                        'errors':
                        ['The username and password do not match any user!']
                    })
    else:
        loginform = LoginForm()
        return render(request, 'clipper/login.html', {'form': loginform})
Ejemplo n.º 11
0
def check(request):
    if request.method == "POST":
        print 'getPost'
        if 'username' in request.POST and 'userpassword' in request.POST:
            username = request.POST['username']
            userpassword = request.POST['userpassword']


#        form = forms.LoginForm(request)
#        username = form.username
#        userpassword = form.userpassword
#        print 'get name:' + username
#        print 'get passwd:' + userpassword
    if request.method == "GET":
        print 'Method GET'
        if 'username' in request.GET and 'userpassword' in request.GET:
            username = request.GET['username']
            userpassword = request.GET['userpassword']

    if not username or not userpassword:
        print 'username:'******'userpasswd:' + userpassword
        print "please input username or password"
        return render(request, 'login/login.html',
                      {'string': 'please input username or password'})

    print 'username:'******'userpasswd:' + userpassword

    conn = MySQLdb.Connect(host='localhost',
                           user='******',
                           passwd='07n0604',
                           port=3306,
                           db='projectsystem')
    cursor = conn.cursor()
    sql = "SELECT * FROM user"
    cursor.execute(sql)
    print sql
    rs = cursor.fetchall()
    print rs
    user_success = False
    for raw in rs:
        print raw
        if raw[1] == username:
            if raw[2] == userpassword:
                user_success = True
                if raw[3] == '0':
                    #return render(request, "admin_bookinfo\\book_info.html")
                    response = HttpResponseRedirect('/teacher/project/list/')
                    response.set_cookie('username', username, 3600)
                    return response
                if raw[3] == '1':
                    response = HttpResponseRedirect('/student/project/list/')
                    response.set_cookie('username', username, 3600)
                    return response
    print user_success
    if not user_success:
        return render(request, "login/login.html",
                      {'string': "name or password error"})
Ejemplo n.º 12
0
 def inner(request):
     if 'u_name' in request.session:
         return func(request)
     else:
         res = HttpResponseRedirect('/user/login')
         # 将请求地址存储只cookie,完成登陆后重定向回请求时的地址
         res.set_cookie('url', request.get_full_path())
         return res
Ejemplo n.º 13
0
 def login_fun(request, *args, **kwargs):
     # 判断是否登录
     if request.session.get('user_id'):
         # 如果已经登录 正常访问页面
         return func(request, *args, **kwargs)
     else:
         # 如果未登录 则跳转到登录页面
         red = HttpResponseRedirect('/df_user/login')
         # 缓存路径 登录后自动调回原先要访问的页面
         red.set_cookie('url', request.get_full_path())
         return red
Ejemplo n.º 14
0
 def login_func(request, *args, **kwargs):
     # 检查session中是否有 user_id
     # if request.session.has_key("user_id"):
     if "user_id" in request.session:
         return func(request, *args, **kwargs)
     else:
         # 如果没有,设置跳转的登录页面
         httprr = HttpResponseRedirect(reverse("df_user:login"))
         # 将用户所在的当前页面 完整地址 保存在cookie中,以便后续跳转
         httprr.set_cookie("url", request.get_full_path())
         return httprr
Ejemplo n.º 15
0
 def login_fun(request, *args, **kwargs):
     # 判断是否已经登录
     # 如果已经登录正常访问页面
     if request.session.get('user_id'):
         return func(request, *args, **kwargs)
     # 如果未登录重定向到登陆页面
     else:
         red = HttpResponseRedirect('/df_user/login')
         # 缓存路径,登录成功返回刚才访问的页面
         red.set_cookie('url', request.get_full_path())
         return red
Ejemplo n.º 16
0
def car_change_show_count(request):
    if request.POST:
        show_count = request.POST.get('show_by_count', None)
        if show_count is not None:
            response = HttpResponseRedirect('/car/list/')
            response.set_cookie('show_cars_by', show_count)
            return response
        else:
            return HttpResponseRedirect('/car/list/')
    else:
        return HttpResponseRedirect('/car/list/')
Ejemplo n.º 17
0
def checkout(request,
             proposal,
             lines,
             return_url_ns='public_booking_success',
             return_preload_url_ns='public_booking_success',
             invoice_text=None,
             vouchers=[],
             internal=False):
    #import ipdb; ipdb.set_trace()
    basket_params = {
        'products': lines,
        'vouchers': vouchers,
        'system': settings.WC_PAYMENT_SYSTEM_ID,
        'custom_basket': True,
    }

    basket, basket_hash = create_basket_session(request, basket_params)
    #fallback_url = request.build_absolute_uri('/')
    checkout_params = {
        'system': settings.WC_PAYMENT_SYSTEM_ID,
        'fallback_url': request.build_absolute_uri(
            '/'),  # 'http://mooring-ria-jm.dbca.wa.gov.au/'
        'return_url': request.build_absolute_uri(reverse(
            return_url_ns)),  # 'http://mooring-ria-jm.dbca.wa.gov.au/success/'
        'return_preload_url': request.build_absolute_uri(reverse(
            return_url_ns)),  # 'http://mooring-ria-jm.dbca.wa.gov.au/success/'
        'force_redirect': True,
        'proxy': True if internal else False,
        'invoice_text':
        invoice_text,  # 'Reservation for Jawaid Mushtaq from 2019-05-17 to 2019-05-19 at RIA 005'
    }
    #    if not internal:
    #        checkout_params['check_url'] = request.build_absolute_uri('/api/booking/{}/booking_checkout_status.json'.format(booking.id))
    if internal or request.user.is_anonymous():
        #checkout_params['basket_owner'] = booking.customer.id
        checkout_params['basket_owner'] = proposal.submitter_id

    create_checkout_session(request, checkout_params)

    #    if internal:
    #        response = place_order_submission(request)
    #    else:
    response = HttpResponseRedirect(reverse('checkout:index'))
    # inject the current basket into the redirect response cookies
    # or else, anonymous users will be directionless
    response.set_cookie(settings.OSCAR_BASKET_COOKIE_OPEN,
                        basket_hash,
                        max_age=settings.OSCAR_BASKET_COOKIE_LIFETIME,
                        secure=settings.OSCAR_BASKET_COOKIE_SECURE,
                        httponly=True)

    return response
Ejemplo n.º 18
0
def login(request):
    """登陆接口"""
    if request.method == 'POST':
        username = request.POST.get('username', '')
        password = request.POST.get('password', '')
        # 当jizhu有值的时候,就是这个复选框被勾选的时候的值1,没有的话是0
        jizhu = request.POST.get('jizhu', 0)

        # 根据用户名查询用户对象
        user = UserModel.objects.filter(username=username)

        # 判断, 如果没有查询到说明用户错误 ,查到判断密码是否正确
        # 密码错误,则返回登陆界面并且提示密码错误
        if user:
            user = user[0]
            # 检查密码是否正确
            is_password = check_password(password, user.password)
            if not is_password:
                # 密码错误
                return render(request, 'user/login.html', {
                    'username': username,
                    'is_password': 1,
                    'is_user': 0
                })
            else:
                # 密码正确
                # 先生成一个response对象
                next_url = request.COOKIES.get('next_url', '/goods/index/')
                response = HttpResponseRedirect(next_url)
                # 记住用户名
                # 设置cookie
                if jizhu != 0:
                    response.set_cookie('username', username)
                else:
                    response.set_cookie('username', '',
                                        max_age=-1)  # max_age指的是过期时间,为-1时立即过期
                # 把用户id和username放入到session中
                request.session['user_id'] = user.id
                request.session['username'] = username
                print(request.session)
                return response
            # return render(request,'user/index.html',{'username':user.username})
        else:
            return render(request, 'user/login.html', {
                'username': username,
                'is_user': 1,
                'is_password': 0
            })
    cookie = request.COOKIES
    # 查看cookie
    print(cookie)
    return render(request, 'user/login.html')
Ejemplo n.º 19
0
def login(request):
    # Assume we have a good form.
    status = "ok"

    # If the user didn't POST anything, they probably haven't filled out the
    # form yet. Let's give them a blank one to fill in.
    if request.method == 'GET':
        # Create new login form and render it.
        login_form = UserLoginForm()

    # Otherwise they must have given us something as POST data. Let's try to
    # validate that.
    else:
        # Create a new Django form based on POST data.
        login_form = UserLoginForm(request.POST)

        # If all fields were filled in, let's try to validate that info against
        # our database.
        if login_form.is_valid():
            # Forms will sanitize for us
            username = login_form.cleaned_data['username']
            password = login_form.cleaned_data['password']

            # Redirect to index page after successful login.
            #next_page = reverse('index')
            next_page = request.POST.get('next', 'index')

            # Retrieve login response
            ux_response = _user_login_ux(username, password)

            if not ux_response or not ux_response['token']:
                status = "incorrect"
            else:
                auth_cookie = ux_response['token']
                expiry = ux_response['expiry_date']

                context = {}
                www_response = HttpResponseRedirect(next_page)
                #www_response = HttpResponse("Token: {} <br \><br \> Expiry Date: {}".format(auth_cookie, expiry))
                www_response.set_cookie("auth_token",
                                        auth_cookie,
                                        expires=expiry)

                return www_response
        else:
            status = "incomplete"

    return render(request, 'CavTutor/user-login.html', {
        'form': login_form,
        'status': status
    })
Ejemplo n.º 20
0
def login(request):
    user_name = request.GET.get('user_name')
    password = request.GET.get('password')
    try:
        user = models.user.objects.get(username=user_name)
    except models.user.DoesNotExist:
        return JsonResponse({'result': False})
    else:
        if password == user.password:
            response = HttpResponseRedirect('index')
            response.set_cookie('user_id', user.id, max_age=3600)  # 有效期一小时
            return response
        else:
            return JsonResponse({'result': False})
Ejemplo n.º 21
0
def kakao_oauth(request):
    try:
        auth_code = request.GET["code"]
        req_params = set_kakao_params(auth_code)
        access_token_params = get_access_token(req_params)
        access_token = access_token_params['access_token']
        auth_key = get_auth_token(access_token)
        save_user_token(auth_key, access_token_params)
        refer_url = 'https://app.pycon.shop/oauth'
        response = HttpResponseRedirect(refer_url, auth_key)
        response.set_cookie('token', auth_key['key'])
        return response
    except KeyError as err:
        return HttpResponse(err)
Ejemplo n.º 22
0
def login_handle(request):
    post = request.POST
    uname = post.get('username')
    upwd = post.get('pwd')
    jizhu = post.get('jizhu')

    users = userInfo.objects.filter(u_name=uname)
    if len(users) >= 1:
        # 对密码原文进行sha1的加密
        # 创建sha1的对象
        s1 = sha1()
        # 对passswd进行sha1的加密
        #s1.update(passwd) # python2的写法
        s1.update(upwd.encode())  # python3的写法
        upwd2 = s1.hexdigest()

        #和数据库中的密文进行比较
        if upwd2 == users[0].u_pwd:
            url = request.COOKIES.get('url', '/df_user/info')
            red = HttpResponseRedirect(url)

            if jizhu:
                red.set_cookie('uname', uname)
            else:
                red.set_cookie('uname', '')
            #登录成功
            request.session['user_id'] = users[0].id
            request.session['user_name'] = uname

            return red
        else:
            #登录失败 密码错误
            context = {
                'title': '登录',
                'error_pwd': 1,
                'error_name': 0,
                'uname': uname,
                'upwd': upwd
            }
            return render(request, 'df_user/login.html', context)
    else:
        #用户名不存在
        context = {
            'title': '登录',
            'error_pwd': 0,
            'error_name': 1,
            'uname': uname,
            'upwd': upwd
        }
        return render(request, 'df_user/login.html', context)
Ejemplo n.º 23
0
def addlike(request, article_id):
    response = HttpResponseRedirect(request.META.get('HTTP_REFERER'))
    try:
        if article_id in request.COOKIES:
            return response
        else:
            article = Article.objects.get(id=article_id)
            article.article_likes += 1
            article.save()
            response.set_cookie(article_id, "like")
            return response
    except ObjectDoesNotExist:
        raise Http404
    return response
Ejemplo n.º 24
0
def postLogin(request):
    if request.method != 'POST':
        return HttpResponseRedirect('/login/')

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

    if user is not None:
        auth.login(request, user)
        response = HttpResponseRedirect('/manage/')
        response.set_cookie('name', username, 60 * 60 * 24 * 1)
        return response

    else:
        return HttpResponseRedirect('/login/')
Ejemplo n.º 25
0
def validate_second_stage(request):
    EnteredOTP = str(request.POST['OTP'])
    SentOTP = str(request.session['OTP'])
    Email = str(request.session['email'])
    if 'OTP' in request.POST and 'OTP' in request.session:
        if EnteredOTP == SentOTP:
            response = HttpResponseRedirect("/dashboard/")
            response.set_cookie('user-trade',request.session['email'])
            return response
        else:
            print(SentOTP, EnteredOTP, Email)
            del request.session['email']
            return HttpResponseRedirect("/login-wrong-password/")
    else:
        del request.session['email']
        return HttpResponseRedirect("/login-required/")
Ejemplo n.º 26
0
def login(req):
	if req.method =='POST':
		username = req.POST.get('username')
		password = req.POST.get('password')
		user = auth.authenticate(username=username,password=password)

		if user is not None:
			response = HttpResponseRedirect('/index/')
			u = auth.admin.User.get_short_name(user)
			print u
			response.set_cookie("username", u, 3600)
			return response
		else:
			
			return HttpResponseRedirect('/login/')
	return render_to_response('login.htm',{})
Ejemplo n.º 27
0
    def post(self, request, *args, **kwargs):
        LANGUAGE_PARAMETER = 'language'

        next = remove_query_param_from_url(
            request.POST.get('next', request.GET.get('next')), 'hl')
        if ((next or not request.is_ajax())
                and not is_safe_url(url=next,
                                    allowed_hosts={request.get_host()},
                                    require_https=request.is_secure())):
            next = remove_query_param_from_url(
                request.META.get('HTTP_REFERER'), 'hl')
            next = next and unquote(next)  # HTTP_REFERER may be encoded.
            if not is_safe_url(url=next,
                               allowed_hosts={request.get_host()},
                               require_https=request.is_secure()):
                next = '/'
        response = HttpResponseRedirect(next) if next else HttpResponse(
            status=204)
        if request.method == 'POST':
            lang_code = request.POST.get(LANGUAGE_PARAMETER)
            if lang_code and check_for_language(lang_code):
                if next:
                    next_trans = translate_url(next, lang_code)
                    if next_trans != next:
                        response = HttpResponseRedirect(next_trans)
                if request.user.is_authenticated:
                    enrollment = self.user_course_data
                    if enrollment:
                        enrollment.language = lang_code
                        enrollment.save()
                    else:
                        userprofile = request.user.userprofile
                        userprofile.language = lang_code
                        userprofile.save()
                else:
                    if hasattr(request, 'session'):
                        request.session[LANGUAGE_SESSION_KEY] = lang_code
                    response.set_cookie(
                        settings.LANGUAGE_COOKIE_NAME,
                        lang_code,
                        max_age=settings.LANGUAGE_COOKIE_AGE,
                        path=settings.LANGUAGE_COOKIE_PATH,
                        domain=settings.LANGUAGE_COOKIE_DOMAIN,
                    )
                request.REQUEST_LANG = lang_code
        return response
Ejemplo n.º 28
0
def login(req):
    if req.method == 'POST':
        uf = UserForm(req.POST)
        if uf.is_valid():
            username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            users = User.objects.filter(username__exact=username,
                                        password__exact=password)
            if users:
                response = HttpResponseRedirect('/online/index/')
                response.set_cookie('username', username, 3600)
                return response
            else:
                return HttpResponseRedirect('/online/login/')
    else:
        uf = UserForm()
    return render_to_response('login.html', {'uf': uf})
Ejemplo n.º 29
0
    def process_response(self, request, response):
        from ikwen.core.utils import get_device_type, get_service_instance
        from ikwen.accesscontrol.models import Member, PWAProfile
        if request.GET.get('__pwa'):
            pwa_profile_id = request.COOKIES.get('pwa_profile_id')
            now = datetime.now()
            new_profile = True
            device_type = get_device_type(request)
            if pwa_profile_id:
                try:
                    pwa_profile = PWAProfile.objects.get(pk=pwa_profile_id)
                    new_profile = False
                except:
                    pwa_profile = PWAProfile(device_type=device_type)
            else:
                pwa_profile = PWAProfile(device_type=device_type)
            if request.user.is_authenticated():
                member = request.user
                if pwa_profile_id and not pwa_profile.member:
                    PWAProfile.objects.filter(
                        service=get_service_instance(),
                        member=member,
                        device_type=device_type).delete()
                pwa_profile.member = Member.objects.get(pk=member.id)
            pwa_profile.save()

            new_response = response
            next_url = request.GET.get('next',
                                       request.META.get('HTTP_REFERER'))
            if not request.GET.get('__no_redirect'):
                login_url = reverse('ikwen:sign_in')
                if next_url:
                    login_url += '?next=' + next_url
                new_response = HttpResponseRedirect(login_url)

            if new_profile:
                expires = now + timedelta(days=1826)  # Expires in 5 years
                secure = not getattr(settings, 'DEBUG', False)
                new_response.set_cookie('pwa_profile_id',
                                        pwa_profile.id,
                                        expires=expires,
                                        secure=secure)

            return new_response
        return response
Ejemplo n.º 30
0
Archivo: views.py Proyecto: 123lisi/one
def login_handle(request):
    # 接收用户提交的信息
    post = request.POST
    uname = post.get('username')
    upwd = post.get('pwd')
    reme = post.get('remember')

    users = UserInfo.objects.filter(uname=uname)
    if len(users) >= 1:
        # 对输入的密码进行加密,与原密码进行匹配
        s1 = sha1()
        s1.update(upwd.encode())
        upwd2 = s1.hexdigest()

        # 密码相同
        if upwd2 == users[0].upwd:
            url = request.COOKIES.get('url', '/df_user/info')
            # 登录成功,缓存到cookies和session中
            red = HttpResponseRedirect(url)
            if reme:
                red.set_cookie('uname', uname)
            else:
                red.set_cookie('uname', '')

            request.session['user_id'] = users[0].id
            request.session['user_name'] = uname
            return red

        # 密码不同
        else:
            context = {
                'title': '登录',
                'user_error': 0,
                'pwd_error': 1,
                'uname': uname
            }
            return render(request, 'df_user/login.html', context)
    else:
        context = {
            'title': '登录',
            'user_error': 1,
            'pwd_error': 0,
            'uname': uname
        }
        return render(request, 'df_user/login.html', context)
Ejemplo n.º 31
0
def newUser(request):
    Username=request.POST['username']
    Pseudonyme=request.POST['pseudonyme']
    Langue=request.POST['langue']
    newuser=User(username=Username,pseudonyme=Pseudonyme,langue=Langue)
    newuser.save()
    response = HttpResponseRedirect("/jeu/")
    
    votes=get_list_or_404(Vote,question_id=4)
    scoreList=[]
    for vote in votes:
        scoreList.append(ScoreDep(user=newuser,score=0,name=vote.name))
    insert_many(scoreList)
    response.set_cookie('username', Username)
    
    
    
    return response
Ejemplo n.º 32
0
def login_handle(request):
    """
    登录操作
    :param request:
    :return:
    """
    post = request.POST
    uname = post.get('username')
    upwd = post.get('pwd')
    remember = post.get('remember', 0)
    # 根据用户名查询对象
    users = UserInfo.objects.filter(uname=uname)
    print(uname)
    if len(users) == 1:
        s1 = sha1()
        s1.update(upwd.encode('utf-8'))
        if s1.hexdigest() == users[0].upwd:
            red = HttpResponseRedirect('/user/user_center_info/')
            # 记住用户名
            if remember != 0:
                red.set_cookie('uname', uname)
            else:
                red.set_cookie('uname', '', max_age=-1)
            request.session['user_id'] = users[0].id
            request.session['user_name'] = uname
            return red
        else:
            context = {
                'title': '用户登录',
                'error_name': 0,
                'error_pwd': 1,
                'uname': uname,
                'pwd': upwd
            }
            return render(request, 'df_user/login.html', context)
    else:
        context = {
            'title': '用户登录',
            'error_name': 1,
            'error_pwd': 0,
            'uname': uname,
            'pwd': upwd
        }
        return render(request, 'df_user/login.html', context)
Ejemplo n.º 33
0
def login_handle(request):
    post = request.POST
    uname = post.get('username')
    upwd = post.get('pwd')
    # 默认jizhu为0,当没有点击记住密码时,不会提交过来,使用默认的数据0,当提交过来时,会使用提交的值1
    jizhu = post.get('jizhu', 0)
    # 查询数据库中的对应的uname对象,使用filter 查到返回对应的列表,查不到返回[]
    user = UserInfo.objects.filter(uname=uname)
    # 判断是否查到对象
    if len(user) == 1:
        s1 = sha1()
        s1.update(upwd)
        if s1.hexdigest() == user[0].upwd:
            # 创建一个对象(由于要使用cookie),用于返回到用户中心
            red = HttpResponseRedirect('user/info')
            # 记住用户名的操作,使用cookie存储
            if jizhu != 0:
                red.set_cookie('uname', uname)
            else:
                # 不存储密码时,设置过期时间为立即过期
                red.set_cookie('uname', '', max_age=-1)
                request.session['user_id'] = user[0].id
                request.session['user_name'] = uname

            return red
        else:
            context = {
                'title': '用户登陆',
                'error_name': 0,
                'error_pwd': 1,
                'uname': uname,
                'upwd': upwd
            }
            return render(request, 'df_user/login.html', context)
    else:
        context = {
            'title': '用户登陆',
            'error_name': 1,
            'error_pwd': 0,
            'uname': uname,
            'upwd': upwd
        }
        return render(request, "df_user/login.html", context)
def login(request):
    """
    登录页面
    :param request:
    :return:
    """
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        key = checkUserPassword(username, password)
        print('login key ', key)
        if key:
            response = HttpResponseRedirect('/ClubInterface/index/')
            response.set_cookie('key', value=key)
            response.set_cookie('name', value=username)
            return response
        else:
            return HttpResponse("ERROR")
    else:
        return render(request, 'ClubInterface/login.html')
Ejemplo n.º 35
0
    def post(self, request):
        source_url = request.POST.get('url', '')
        if not source_url:
            return HttpResponseBadRequest()

        if not settings.COOKIE_NAME_FOR_UUID in self.request.COOKIES.keys():
            user_uuid = uuid.uuid4()
        else:
            user_uuid = request.COOKIES.get(settings.COOKIE_NAME_FOR_UUID)

        if request.user.is_authenticated():
            # associate url with user
            ShortenUrl.objects.shorten_url(url=source_url, user=request.user)
        else:
            # associate url with user_uuid when user is not authenticated
            ShortenUrl.objects.shorten_url(url=source_url, user_uuid=user_uuid)

        response = HttpResponseRedirect(reverse('index'))
        response.set_cookie(settings.COOKIE_NAME_FOR_UUID, user_uuid, max_age=31536000)

        return response
Ejemplo n.º 36
0
    def process_response(self, request, response):
        """
        Set compact P3P policies and save auth token to cookie.

        P3P is a WC3 standard (see http://www.w3.org/TR/P3P/), and although largely ignored by most
        browsers it is considered by IE before accepting third-party cookies (ie. cookies set by
        documents in iframes). If they are not set correctly, IE will not set these cookies.
        """
        if hasattr(request, "facebook") and request.facebook and request.facebook.oauth_token:
            if "code" in request.REQUEST:
                """ Remove auth related query params """
                path = get_full_path(request, remove_querystrings=['code', 'web_canvas'])
                response = HttpResponseRedirect(path)

            response.set_cookie('facebook_oauth_token', request.facebook.oauth_token.token)
        else:
            response.delete_cookie('facebook_oauth_token')

        response['P3P'] = 'CP="IDC CURa ADMa OUR IND PHY ONL COM STA"'

        return response
Ejemplo n.º 37
0
 def get(self, request):
     response = HttpResponseRedirect('/')
     response.set_cookie('sessionid', None)
     return response