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

网站制作 用户登录系统b2b平台有哪些

网站制作 用户登录系统,b2b平台有哪些,个人博客网站如何做SEO,天津线上推广公司哪个好基本认证(Basic Authentication): 这是一种简单的鉴权方式,需要客户端发送用户名和密码,服务器验证后允许或拒绝访问。可以使用 Flask-BasicAuth 扩展来实现。首先,安装扩展: pip install Fla…

基本认证(Basic Authentication):

这是一种简单的鉴权方式,需要客户端发送用户名和密码,服务器验证后允许或拒绝访问。可以使用 Flask-BasicAuth 扩展来实现。首先,安装扩展:

pip install Flask-BasicAuth
from flask import Flask
from flask_basicauth import BasicAuthapp = Flask(__name__)
app.config['BASIC_AUTH_USERNAME'] = 'admin'
app.config['BASIC_AUTH_PASSWORD'] = '123456'
app.config['BASIC_AUTH_FORCE'] = False  # 为True 就默认对所有 api 进行认证, 如果设置为 False, 那么可以通过 @basic_auth.required 对指定 api 进行认证。
basic_auth = BasicAuth(app)@app.route('/')
@basic_auth.required
def hello_world():return 'Hello World!'

此时访问鉴权的接口地址会要求输入用户名密码:
在这里插入图片描述
使用代码请求样例:

import requestsurl = "http://192.168.3.199:7130"payload={}
headers = {'User-Agent': 'Apifox/1.0.0 (https://apifox.com)','Authorization': 'Basic YWRtaW46MTIzNDU2'
}response = requests.request("GET", url, headers=headers, data=payload)print(response.text)

密文处实际为base64加密:

auth = str(base64.b64encode(f'{self.username}:{self.password}'.encode('utf-8')), 'utf-8')
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0', "Content-Type": "application/json", 'Authorization': f'Basic {auth}'
}

Token 鉴权(todo)

客户端在请求中携带一个令牌(token),服务器验证该令牌是否有效。这种方式通常用于API鉴权。可以使用 Flask-JWT-Extended 或 Flask-RESTful 等扩展来实现。
通过 Token 鉴权是一种常见的方式,用于保护 Web 应用或 API 的安全性。在 Flask 中,你可以使用第三方扩展如 Flask-JWT-Extended 来实现 Token 鉴权。以下是一个基本的示例:

首先,安装 Flask-JWT-Extended 扩展:

pip install Flask-JWT-Extended
from flask import Flask, request
from flask_jwt_extended import JWTManager, create_access_token, jwt_required, get_jwt_identityapp = Flask(__name__)# 设置密钥,用于加密 Token
app.config['JWT_SECRET_KEY'] = 'your_secret_key'# 初始化 JWTManager
jwt = JWTManager(app)# 路由用于用户登录并生成 Token
@app.route('/login', methods=['POST'])
def login():username = request.json.get('username')password = request.json.get('password')# 这里应该根据用户名和密码验证用户# 如果验证成功,创建并返回一个 Tokenif username == 'user' and password == 'password':access_token = create_access_token(identity=username)return {'access_token': access_token}else:return {'message': 'Invalid credentials'}, 401# 受保护的路由,需要 Token 鉴权
@app.route('/protected', methods=['GET'])
@jwt_required()
def protected_route():current_user = get_jwt_identity()return f'Hello, {current_user}! This route is protected by JWT.'if __name__ == '__main__':app.run()

我们使用 Flask-JWT-Extended 来处理 Token 鉴权。
在 /login 路由中,用户提供用户名和密码进行验证。如果验证成功,将创建并返回一个包含用户身份信息的 Token。
在 /protected 路由中,我们使用了 @jwt_required() 装饰器,它要求请求中必须包含有效的 Token 才能访问。
你需要将上述示例中的用户名和密码验证部分替换为你实际的用户验证逻辑。请确保在生产环境中使用 HTTPS 来保护通信安全,并考虑其他安全性措施,如 Token 过期时间、刷新 Token 等。

自定义装饰器(todo)

你可以编写自己的装饰器函数来实现鉴权逻辑。例如,下面是一个简单的自定义装饰器示例:

from flask import Flask, request, jsonify
from functools import wrapsapp = Flask(__name__)# 用户认证函数,根据用户名和密码验证用户
def authenticate(username, password):# 实际应用中,这里应该根据用户名和密码进行验证if username == 'user' and password == 'password':return Truereturn False# 自定义装饰器函数,用于鉴权
def auth_required(f):@wraps(f)def decorated_function(*args, **kwargs):auth = request.authorizationif not auth or not authenticate(auth.username, auth.password):return jsonify({'message': 'Authentication required'}), 401return f(*args, **kwargs)return decorated_function@app.route('/')
@auth_required
def protected_route():return 'This route is protected by custom authentication.'if __name__ == '__main__':app.run()
http://www.hkea.cn/news/244793/

相关文章:

  • 武汉网站设计制作外包公司的人好跳槽吗
  • 网站建设哪里最好页面关键词优化
  • 清远建设网站制作seo系统培训课程
  • 网站的网页建设知识ppt北大青鸟职业技术学院简介
  • 巫山网站设计aso优化榜单
  • 关于节约化建设网站的表态发言网站制作报价表
  • 建行网站是多少呢故事式的软文广告例子
  • 阳江市住房和城乡规划建设局网站一级消防工程师考试
  • 做课件的网站有哪些用html制作淘宝网页
  • 网站开发前后台整个流程品牌宣传的推广
  • 深圳市门户网站建设网站推广优化方法
  • 中山公司注册网页怎么优化
  • 网站建设怎么分录2022年新闻摘抄简短
  • 江西景德镇建设厅网站太原关键词排名推广
  • 番禺做网站自媒体发布平台有哪些
  • 用dede做的网站首页电子商务网络营销
  • 最好的做任务赚钱网站网络域名怎么查
  • 建设部规范网站百度app关键词优化
  • 骏域网站百度怎么收录网站
  • 网站robots.txt查看九江seo公司
  • 建设阿里妈妈网站搜索引擎排名优化seo
  • 自学网站建设作业创建网站免费
  • 营销网站定制的优势成品网站源码的优化技巧
  • 高职学院网站建设方案广告制作
  • table表格 做的网站营销案例分析报告模板
  • pc端网站做移动适配教育培训机构管理系统
  • 页游传奇排行榜无锡seo优化公司
  • 广西南宁网站设计百度seo算法
  • 网站建设服务怎么样近期国内热点新闻事件
  • 阿里巴巴网站国际站建设seo托管服务