Пример #1
0
def logout(request):
    """ release login status """
    from_data = get_post_data(request)

    user_name = from_data.get('user', None)
    headers = HEADER
    payloads = {'iss': user_name, 'iat': time.time()}
    token = Token(headers, payloads)

    a_user = LoginInfo.objects.get(user_name=user_name)
    id = a_user.id
    a_user.token = token
    a_user.status = False
    a_user.save()

    users = {
        'data': {
            'id': id,
            'username': user_name,
            "status": False
        },
        'meta': {
            'msg': '成功登出',
            'status': 200,
        }
    }
    j = json.dumps(users)

    response = HttpResponse(j, content_type='application/json')
    response.delete_cookie("ctoken")
    # response = csrf_setting(response)
    return response
Пример #2
0
def user_logout(request):
    response = HttpResponse(
        "<meta http-equiv='Refresh' content='3;url=/' />User quit is successful,Page is jumping...please waiting for three seconds "
    )
    response.delete_cookie('user_auths')
    response.delete_cookie('user_name')
    return response
Пример #3
0
def logout(request):
    auth.logout(request)
    response = HttpResponse('logout !!')
    #print 'logout'
    #清理cookie里保存username
    response.delete_cookie('username')
    return redirect(index)
Пример #4
0
 def get(self, request):
     check = self.request.GET.get('check', False)
     if check in ['true', 'false',
                  False]:  #solve ast malformed string exception
         check = {'true': True, 'false': False}[str(check).lower()]
     else:
         check = ast.literal_eval(check)
     if self.request.user == 'AnonymousUser':
         user = {'upn': 'ANONYMOUS'}
     else:
         user = {'upn': str(self.request.user)}
     if check and self.request.user.is_authenticated():
         response = HttpResponse(u'authenticated')
         response["Access-Control-Allow-Origin"] = "*"
         response["Server"] = "GateOne"
         return response
     logout_get = self.request.GET.get("logout", None)
     if logout_get:
         logout(request)
         response = HttpResponse('/')
         response.delete_cookie('gateone_user')
         self.user_logout(request)
         return response
     next_url = self.request.GET.get("next", None)
     if next_url:
         return redirect(next_url)
     return redirect(getsettings('url_prefix', '/'))
Пример #5
0
def del_cookie(request):
    response = HttpResponse('quit')
    try:
        response.delete_cookie('username')
        request.session.flush()
    except Exception as e:
        return render(request, 'lg/error-500.html', {'error': e})
    return response
Пример #6
0
def delete_co(request):
    if request.COOKIES.get('visits'):
        response = HttpResponse("<h1>news aggregator<br>Cookie deleted</h1>")
        response.delete_cookie("visits")
    else:
        response = HttpResponse(
            "<h1>news aggregator</h1>need to create cookie before deleting")
    return response
Пример #7
0
def ajax_login_view(request):
    """
        Function to login using AJAX.
    """
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        remember_me = request.POST.get('remember_me')
        user = authenticate(request, username=username, password=password)
        '''
            Response Codes(Acronyms):
            LS: Login success.
            LF: Login failed.
        '''
        if user is not None:
            login(request, user)
            response = HttpResponse('LS')
            if remember_me is None:
                # Executed when remember_me is None i.e. not checked.
                if 'cook_user' and 'cook_pass' in request.COOKIES:
                    # Enters when either of the cookie is present.
                    # response = render(request,'blogapp/newhome.html',context)
                    response.delete_cookie('cook_user')
                    response.delete_cookie('cook_pass')
                    return response
                else:
                    # Enters when both of the cookie is not present i.e. deleted .
                    return response
            else:
                if 'cook_user' and 'cook_pass' not in request.COOKIES:
                    response.set_cookie('cook_user',
                                        username,
                                        max_age=86400,
                                        path='/')
                    response.set_cookie('cook_pass',
                                        password,
                                        max_age=86400,
                                        path='/')
                    return response
                else:
                    if username == request.COOKIES.get(
                            'cook_user') and password == request.COOKIES.get(
                                'cook_password'):
                        return response
                    elif username != request.COOKIES.get(
                            'cook_user') or password != request.COOKIES.get(
                                'password'):
                        response.set_cookie('cook_user',
                                            username,
                                            max_age=86400,
                                            path='/')
                        response.set_cookie('cook_pass',
                                            password,
                                            max_age=86400,
                                            path='/')
                        return response
        else:
            return JsonResponse('LF')
Пример #8
0
def logout(request):
    # 用户退出登录,若成功,清除cookie值
    # Arguments:
    #     request: no data in the body
    # Return:
    #     An HttpResponse which contains {"error_code":<int>, "message":<str>,"data":None}
    content = {}
    if request.method == 'POST':
        user = get_login_user(request)
        if user is None:
            content = {"error_code": 411, "message": "当前未登录", "data": None}
        else:
            content = {"err_code": 200, "message": "成功退出登录", "data": None}
            response = HttpResponse(json.dumps(content))
            response.delete_cookie("username")
            return response
    return HttpResponse(json.dumps(content))
Пример #9
0
def logout(request):
    """
    :param request:
    :return:
    HttpResponse(json.dumps(result))
    """
    result = {
        'status': '',  # 'success' or 'failure'
        'error_msg': '',  # notes of failure
    }

    # handle wrong method
    if not is_post(request, result):
        return HttpResponse(json.dumps(result))

    result['status'] = 'success'
    response = HttpResponse(json.dumps(result))
    response.delete_cookie(key='username')

    return response
Пример #10
0
def logout(request):
    # if request.method == "GET":
    #     return redirect('./errorpage')
    print("logout")
    headers = {'Authorization': 'Bearer ' + request.session['user_actoken']}
    res = requests.post('https://kapi.kakao.com/v1/user/unlink',
                        headers=headers)
    # headers = {
    #     'Authorization': 'Bearer ' + request.session['user_actoken']
    # }
    # res = requests.post('https://kapi.kakao.com/v1/user/logout', headers=headers)
    status = res.status_code
    content = res.json()

    if status == 200:
        try:
            print("정상적인 로그아웃", content['id'])
            request.session['logout_message'] = request.session[
                'user_name'] + "님 정상적으로 로그아웃 되셨습니다."
            response = HttpResponse("Cookies Cleared")
            response.delete_cookie('sessionid')
            print('@@@', request.COOKIES)
            del request.session['user_actoken']
            del request.session['user_name']
            del request.session['user_image']
        except:
            print("로그아웃 실패")
            request.session['logout_message'] = request.session[
                'user_name'] + "님 로그아웃에 실패하였습니다. 다시 시도해주세요 :-("
            return redirect('./main')
    else:
        print("로그아웃 실패")
        request.session['logout_message'] = request.session[
            'user_name'] + "님 로그아웃에 실패하였습니다. 다시 시도해주세요 :-("
        return redirect('./main')

    return redirect('../')
Пример #11
0
def cookie_signin(request):
    if request.method == 'POST':
        form = SigninForm(request.POST)
        if form.is_valid():
            login = request.POST.get('login', '')
            password = request.POST.get('password', '')
            save = request.POST.get('save', False)

            tmp = loader.get_template('cookie-signin.html')
            data = {'form': form}
            response = HttpResponse(tmp.render(data))

            if save:
                response.set_cookie('login', value=login, max_age=60)
                response.set_cookie('password', value=password, max_age=60)
                response.set_cookie('save', value=save, max_age=60)
            else:
                response.delete_cookie('login')
                response.delete_cookie('password')
                response.delete_cookie('save')

            return response

    elif 'login' in request.COOKIES:
        login = request.COOKIES.get('login', '')
        password = request.COOKIES.get('password', '')
        save = request.COOKIES.get('save', False)
        form = SigninForm(initial={
            'login': login,
            'password': password,
            'save': save
        })
    else:
        form = SigninForm()

    return render(request, 'cookie-signin.html', {'form': form})
Пример #12
0
def commandExec(request):
    ucmd = request.GET.get('c')
    print("WEB终端执行命令:" + ucmd)
    print("UA信息:", request.META['HTTP_USER_AGENT'])
    paras = ucmd.split(' ')
    response = HttpResponse("$webClient/ServerTerminal: " + ucmd)
    if paras[0] == 'login' and paras.__len__() == 2:
        if not HasAuth(request) and paras[1] in availablePin:
            fingerprint = getDeviceMD5(request, paras[1])
            print("用户获权,指纹:", fingerprint)
            response.set_cookie('device_auth', fingerprint, max_age=15 * 86400)
            response.write("\r\n获权成功。")
        else:
            response.write("\r\n获权失败。您可能已经获合法或非法权,或者输入的Pin码不在Pin集内。")
    elif paras[0] == 'logout' and paras.__len__() == 1:
        if not HasAuth(request):
            response.write("\r\n您的权限已被冻结。")
        else:
            response.delete_cookie('device_auth')
            response.write("\r\n您的权限已冻结。")
    elif paras[0] == 'devedit' and paras.__len__() == 3:
        if not HasAuth(request):
            response.write("\r\nerrs:您没有权限访问这个设备。")
        else:
            deviceid = int(paras[1])
            device = DeviceControl.objects.get(deviceId=deviceid)
            if device.rwType != 'SWITCH':
                response.write(
                    "\r\nerrs:Cannot switch a none-switched device.")
            else:
                if device.deviceStatus == '1':
                    device.deviceStatus = '0'
                elif device.deviceStatus == '0':
                    device.deviceStatus = '1'
                else:
                    raise Exception("未知的SWITCH设备状态", device.deviceStatus)
                device.save()
                tosend = '^ch%d:%s#' % (deviceid, device.deviceStatus)
                IotSend(tosend)
                response.write(
                    "\r\n" +
                    getDeviceStatus(device.rwType, device.deviceStatus))

    elif paras[0] == 'iotrpt':
        #物联网终端上报数据
        #iot:物联网 rpt:report             大气压力   光照强度    (可选)设备信息,由设备返回的json序列,‘’为设备号
        #格式:iotrpt temperature humidity pressure illuminance {'1':1,'2':1,'3':1,'4':1}
        """
        HTTP请求格式:
        GET /command/?c=iotrpt+13.0+79+1013+212 HTTP/1.1
        User-Agent: app/iotserver
        """
        if paras.__len__() == 5 and request.GET.get('pwd') == uploadKey:
            smp=SampleData(temperature=float(paras[1]),humidity=float(paras[2]),\
                atmospressure=float(paras[3]),illuminance=float(paras[4]),\
                    report_time=datetime.datetime.now())
            smp.save()
            response.write('\r\nsaved.' +
                           datetime.datetime.now().strftime("DT%a %H:%M:%S"))
        elif paras.__len__() == 6:
            pass
        else:
            response.write('errs:can\'t resolve command or error upload key.')
    elif paras[0] == 'iot-reset':
        if not HasAuth(request):
            response.write("\r\nerrs:您没有权限执行此命令。")
        else:
            IotSend("^FRS#")
            response.write("\r\n已发送复位指令。")
            pass
    elif paras[0] == 'scr-reset':
        if not HasAuth(request):
            response.write("\r\nerrs:您没有权限执行此命令。")
        else:
            IotSend("^SRS#")
            response.write("\r\n已发送屏幕复位指令。")
            pass
    elif paras[0] == 'esp-reset':
        if not HasAuth(request):
            response.write("\r\nerrs:您没有权限执行此命令。")
        else:
            IotSend("^ERS#")
            response.write("\r\n已发送esp8266复位指令。")
            pass
    elif paras[0] == 'sync':
        if not HasAuth(request):
            response.write("\r\nerrs:您没有权限同步设备。")
        else:
            iotSync(request)
            response.write("\r\n设备已同步。")

    elif paras[0] == 'appscrupd':
        """
        APP HTTP请求参数:apikey=API key,scrdata=屏幕数据,appid=APPID,c=appscrupd
        """
        if not request.GET.get('apikey') == getAppKey(request):
            response.write("\r\nerrs:APP没有权限访问设备。")
        else:
            scrdata = request.GET.get('scrdata')
            IotSend('^AP%s#' % scrdata)
            response.write("\r\n已将屏幕刷新数据写入。")
    elif paras[0] == 'appexit':
        if not request.GET.get('apikey') == getAppKey(request):
            response.write("\r\nerrs:APP没有权限访问设备。")
        else:
            IotSend('^EA#')
            response.write("\r\n已丢失屏幕控制权。")
    else:
        response.write("\r\n无法识别输入的指令。")
    return response
Пример #13
0
def logout(request):
    response = HttpResponse('ok')
    response.delete_cookie('userid')
    return response
Пример #14
0
def logout(req):
    response = HttpResponse('退出')
    response.delete_cookie('username')
    del req.session['username']
    return HttpResponseRedirect('/myblog/login.html')
Пример #15
0
def member_signin(request):
    #ถ้าในขณะนั้นได้เข้าสู่ระบบแล้ว
    #ก็ไปยังเพจหลักของสมาชิกได้ทันที
    if 'id' in request.session:
        return redirect(reverse('member_home'))

    #ถ้าโพสต์ข้อมูลเข้ามา
    err_msg = None
    if request.method == 'POST':
        form = SigninForm(request.POST)
        email = request.POST.get('email', '')
        password = request.POST.get('password', '')
        save = request.POST.get('save', False)

        #นำอีเมลและรหัสผ่านไปตรวจสอบว่ามีในฐานข้อมูลหรือไม่
        #ถ้ามี ก็เก็บค่า id และชื่อไว้ในเซสชัน เพื่อบ่งชี้ว่า เข้าสู่ระบบแล้ว
        row = Member.objects.filter(Q(email=email) & Q(password=password))

        if row.count() == 1:
            request.session['id'] = row[0].id
            request.session['name'] = row[0].firstname

            #สร้างออบเจ็กต์ HttpResponse เพื่อส่งข้อมูลกลับไปและจัดการคุกกี้
            tmp = loader.get_template('member-home.html')
            data = {'name': row[0].firstname}
            response = HttpResponse(tmp.render(data))

            #ถ้าเลือกบันทึกข้อมูลไว้ในเครื่อง ก็จัดเก็บในแบบคุกกี้ โดยกำหนดอายุ 1 วัน
            #แต่ถ้าไม่เลือก ก็ให้ลบออกจากคุกกี้ (เผื่อจะเก็บไว้ก่อนแล้ว)
            if save:
                age = 60 * 60 * 24
                response.set_cookie('email', value=email, max_age=age)
                response.set_cookie('password', value=password, max_age=age)
                response.set_cookie('save', value=save, max_age=age)
            else:
                response.delete_cookie('email')
                response.delete_cookie('password')
                response.delete_cookie('save')

            return response

        else:
            err_msg = 'อีเมลหรือรหัสผ่านไม่ถูกต้อง'

    #ถ้าเปิดเพจ และมีข้อมูลจัดเก็บในแบบคุกกี้เอาไว้แล้ว
    #ให้อ่านค่า จากนั้นนำไปเติมเป็นค่าล่วงหน้าให้แก่ฟอร์ม
    elif 'email' in request.COOKIES:
        email = request.COOKIES.get('email', '')
        password = request.COOKIES.get('password', '')
        save = request.COOKIES.get('save', False)
        form = SigninForm(initial={
            'email': email,
            'password': password,
            'save': save
        })

    else:
        form = SigninForm()

    return render(request, 'member-signin.html', {
        'form': form,
        'err_msg': err_msg
    })
Пример #16
0
def logout(req):
    response = HttpResponse(
        'logout!<br><a href="127.0.0.1:8000/regist>regist</a>"')
    response.delete_cookie('cookie_username')
    return response