当前位置: 首页 > news >正文

长春企业自助建站wordpress 订单号位数

长春企业自助建站,wordpress 订单号位数,沈阳网站建设活动方案,长春h5建站1. 介绍 安装:pip install Flask-JWT-Extended创建对象 初始化与app绑定jwt JWTManager(app) # 初始化JWTManager设置 Cookie 的选项:除了设置 cookie 的名称和值之外#xff0c;你还可以指定其他的选项#xff0c;例如#xff1a;过期时间 (max_age)安装:pip install Flask-JWT-Extended创建对象 初始化与app绑定jwt JWTManager(app) # 初始化JWTManager设置 Cookie 的选项:除了设置 cookie 的名称和值之外你还可以指定其他的选项例如过期时间 (max_age) 指定 cookie 何时过期。# max_age60 * 60 * 24 * 7 # 7天有效期max_agedatetime.timedelta(days2)1. 设置cookies# 设置cookies成功 重定向到首页# 创建JWT token只存储用户名access_token create_access_token(identityusername)# 设置JWT到cookie并重定向到主页response redirect(url_for(index))set_access_cookies(response, access_token,# max_age60 * 60 * 24 * 7 # 7天有效期max_agedatetime.timedelta(days2))return response2. 获取cookies# 获取当前会话中的身份信息info get_jwt_identity()return render_template(index.html, infoinfo)3. 设置cookies会话有效期max_agedatetime.timedelta(hours2), # 设置会话有效期时间# max_age60 * 60 * 24 * 2,4. 删除cookies# 注销用户并删除JWT cookiesresponse redirect(url_for(login))unset_jwt_cookies(response)return response5. response创建对象的方法:导包:from flask import make_response, Response# 1. response make_response(redirect(url_for(test_blue.login_index)))# 2. response make_response(render_template(test/home.html), 200)# 3. response make_response(success, 201)# 这种就可以# 4. response redirect(url_for(login))​​​​​​​  2. 验证 验证 # 1. 重新改写这个方法 # def jwt_required( # optional: bool False, fresh: bool False, # refresh: bool False, locations: Optional[LocationType] None, # verify_type: bool True, skip_revocation_check: bool False, ) - Any: # def wrapper(fn): # wraps(fn) # def decorator(*args, **kwargs): # try: # verify_jwt_in_request( # optional, fresh, refresh, locations, verify_type, skip_revocation_check # ) # return current_app.ensure_sync(fn)(*args, **kwargs) # except Exception as e: # return redirect(url_for(login)) # 没有身份信息时重定向到登录页 # # return decorator # # return wrapper #2. 这种自定义的可以 重定向 # 自定义auth装饰器来检查JWT身份验证 # def auth(fn): # wraps(fn) # def inner(*args, **kwargs): # try: # verify_jwt_in_request() # 验证请求中是否存在有效的JWT # if not get_jwt_identity(): # 检查JWT中是否有身份信息 # return redirect(url_for(login)) # 没有身份信息时重定向到登录页 # except Exception as e: # print(e) # return redirect(url_for(login)) # 捕获所有异常重定向到登录页 # return fn(*args, **kwargs) # # return inner# 3. jwt_required() # 直接在函数上装饰验证 只会抛异常 不能自动重定向# 4. 自定义auth装饰器来检查JWT身份验证 # 这种的验证 只会抛异常 不能自动重定向 # def auth(fn): # wraps(fn) # jwt_required() # def inner(*args, **kwargs): # if not get_jwt_identity(): # 检查JWT中是否有身份信息 # return redirect(url_for(login)) # 没有身份信息时重定向到登录页 # return fn(*args, **kwargs) # # return inner# 5. 在前端直接重定向 $.ajax({url: /protected,method: GET,success: function(data) {// 处理成功的响应},error: function(jqXHR) {if (jqXHR.status 401) {window.location.href /login;}} }); # 6. 设置存储在cookies 不然报错 以下是四种方式 可以都选 单选 app.config[JWT_TOKEN_LOCATION] [cookies] # app.config[JWT_TOKEN_LOCATION] [headers, cookies, query_string, json]3. 代码 import datetime import hashlibfrom flask import (Flask, render_template, redirect, url_for, request,session, make_response, Response, current_app ) from functools import wraps from flask_jwt_extended import (JWTManager, create_access_token, set_access_cookies,get_jwt_identity, unset_jwt_cookies,jwt_required,verify_jwt_in_request, )from typing import Optional, Any from flask_jwt_extended.view_decorators import LocationTypeapp Flask(__name__) app.secret_key ghakjhkghkahkhgkhalkfdngkasnkglhaj.encode(utf-8)app.config[JWT_TOKEN_LOCATION] [cookies]jwt JWTManager(app) # 初始化JWTManagerapp.route(/) app.route(/index, methods[GET, POST]) # auth # 使用auth装饰器 jwt_required() def index():# 获取当前会话中的身份信息info get_jwt_identity()return render_template(index.html, infoinfo)app.route(/login, methods[GET, POST]) def login():if request.method POST:username request.form.get(username, None)password request.form.get(password, None)confirm_password request.form.get(confirm_password, None)# 表单验证逻辑if not username or not password or not confirm_password:return render_template(login.html, errors所有字段不能为空)if password ! confirm_password:return render_template(login.html, errors密码不一致)# 假设用户名和密码验证成功if username root and password 123:# 创建JWT token只存储用户名access_token create_access_token(identityusername)# 设置JWT到cookie并重定向到主页response redirect(url_for(index))set_access_cookies(response, access_token,# max_age60 * 60 * 24 * 7 # 7天有效期max_agedatetime.timedelta(days2))return responseelse:return render_template(login.html, errors账号或密码有误)return render_template(login.html)app.route(/logout, methods[GET, POST]) # auth jwt_required() def logout():# 注销用户并删除JWT cookiesresponse redirect(url_for(login))unset_jwt_cookies(response)return responseapp.route(/test) # auth jwt_required() def test():return 测试成功if __name__ __main__:app.run(debugTrue)
http://www.dnsts.com.cn/news/227115.html

相关文章:

  • 阿迪达斯网站建设的总体目标手机营销网站制作
  • 网站推广营销策划方案烟台做公司网站
  • 网站建设与管理专业工资高吗网站建设预算费用
  • 北京城乡住房建设官方网站企业网站后台怎么做
  • 网站怎么做友情连接广西百色公司注册
  • 免费推广网站教程怎么看网站是动态还是静态
  • 东莞网站关键词杭州定制网站开发
  • 北京附近做网站的公司有哪些找南昌seo服务商
  • 好的平面设计网站有哪些网站开发与电子商务
  • 网站建设维护成百度上怎么制作自己的网站
  • 青岛网站建设¥青岛博采网络在哪个网站做整形
  • 手机网站开发者模式网站所有者查询
  • 公司网站建设调研问卷如何建设酒店预订系统网站
  • 网站服务器怎么选择wordpress用户数据表
  • 浙江网站建设哪里好网站名称创意大全
  • 网站建设结构图安徽省建设工程专业技术资格评审标准条件
  • 注册网站平台网站开发 认证
  • 江苏丹阳建设公司网站中国五大网络运营商
  • 浙江做网站平台的科技公司普通人做电商要多少钱
  • 自动外链工具seo关键词外包公司
  • 溧阳建设局网站ae模板下载网站推荐
  • 谁能帮忙做网站备案官网建设费用入什么科目
  • 企业网站系统设计新手学做网站pdf下载
  • 潍坊建网站的现货交易十大平台
  • 网站备案 失败手机网站模板安装方法
  • 苏州网站建设老板wordpress json登陆
  • php+mysql 2012也买酒商城网站源码手机百度网址大全首页
  • 超市网站源码网站开发工程师前景
  • 荆门网站建设 金键盘怎么做网页会议邀请函
  • 三网合一网站建设程序12580黄页推广