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

nodejs 如何做网站后端去哪里学习wordpress

nodejs 如何做网站后端,去哪里学习wordpress,注册网站费用,北京住房和建设部网站1. 问题背景 在一个使用 Pyramid 框架开发的应用程序中#xff0c;需要同时处理 HTML 内容的显示和 JSON API 的请求。对于 HTML 内容#xff0c;使用了 AuthTktAuthenticationPolicy 进行身份验证和 ACLAuthorizationPolicy 进行授权。当用户成功登录后#xff0c;会在浏览… 1. 问题背景 在一个使用 Pyramid 框架开发的应用程序中需要同时处理 HTML 内容的显示和 JSON API 的请求。对于 HTML 内容使用了 AuthTktAuthenticationPolicy 进行身份验证和 ACLAuthorizationPolicy 进行授权。当用户成功登录后会在浏览器中设置 auth_tkt cookie并且系统能够正常运行。 现在需要为 JSON API 请求实现类似的身份验证和授权机制。不同的是对于 JSON API 请求用户不一定需要登录因此需要在每次请求中包含一个 api_key 参数。根据该参数如果找到一个有效的用户则返回 JSON 数据否则显示一个 403 页面。 一种方法是在每个视图中进行如下操作 api_key request.GET.get(api_key,None) user FrontEndUsers.User_by_api_key(api_key) if user: #Process view else:return HTTPForbidden但是在每个视图中重复执行相同的身份验证逻辑似乎过于冗余而且与身份验证策略的功能相同。因此考虑是否可以为 JSON 路由指定一个单独的身份验证策略或者是否有其他方法来实现这一目标。 2. 解决方案 方案一使用 pyramid_multiauth 包 Pyramid_multiauth 包提供了一种简单的方法来在 Pyramid 中使用多个身份验证策略。首先需要安装 pyramid_multiauth 包 pip install pyramid_multiauth然后在应用程序的配置文件中添加以下配置 [authentication] policies multiauth.MultiAuthenticationPolicy policies.multiauth.policies [tkt_authn_policy, basic_authn_policy]在上面的配置中tkt_authn_policy 和 basic_authn_policy 是要使用的两个身份验证策略的名称。 最后在视图中使用 pyramid_multiauth 提供的认证装饰器来保护视图 view_config(route_nameapi_view, rendererjson,require_csrfFalse) multiauth.multi_authenticated(require[basic_authn_policy,tkt_authn_policy]) def api_view(request):# 视图代码方案二编写自定义身份验证策略 也可以编写一个自定义的身份验证策略该策略可以根据请求属性将请求分发到不同的身份验证策略。 首先需要创建一个自定义身份验证策略类该类继承自 pyramid.authentication.AuthTktAuthenticationPolicy。 from pyramid.authentication import AuthTktAuthenticationPolicyclass MultiAuthPolicy(AuthTktAuthenticationPolicy):def authenticated_userid(self, request):if api_key in request.GET:# 使用 api_key 进行身份验证return self.authenticated_userid_with_api_key(request)else:# 使用传统的 AuthTktAuthenticationPolicy 进行身份验证return super().authenticated_userid(request)def authenticated_userid_with_api_key(self, request):# 根据 api_key 获取用户 ID# 根据用户 ID 获取用户对象# 返回用户对象然后在应用程序的配置文件中添加以下配置 [authentication] policies multiauth最后在视图中使用自定义身份验证策略 view_config(route_nameapi_view, rendererjson, require_csrfFalse) multiauth.authenticated(check_credentialsFalse) def api_view(request):# 视图代码通过上述两种方法可以实现为 JSON 路由指定单独的身份验证策略从而简化身份验证逻辑提高代码的可维护性。
http://www.dnsts.com.cn/news/176524.html

相关文章:

  • 网站界面类型合肥品牌设计公司排名
  • 10m带宽做下载网站免费的短视频素材库
  • 企业网站内容运营方案策划建设电子商务网站的好处
  • 网站开发开始阶段的主要任务包括( )怎么做网站发布
  • 网站包括哪些内容福田做棋牌网站建设哪家技术好
  • 网站建设人员春招计划网站死链如何处理
  • 百度贴吧引流推广方法seo做的比较好的公司
  • 公司开通网站做苗木网站
  • 有哪些网站做简历比较好365网站
  • 哪个网站兼职做图好wordpress设置用户组
  • 网站建设进展报告做的漂亮的商务网站
  • 站长统计代码寿光建设网站
  • 注册公司需要的网站建设深圳宝安区深圳网站建设 骏域网络
  • 课程网站建设情况百度关键词如何优化
  • 浦东新区手机网站建设温州 网站
  • 个人网站每年要多少钱网络运维与安全就业方向
  • 营销型网站建设的优势有哪些企业信息公示网站
  • 用名字做头像是什么网站网站后台有哪些
  • 网站查询访问域名优化网站价格
  • 开发网站广州创意设计绘画作品
  • 科技部网站方案桂平逗乐游戏招聘网站开发
  • 网站首页图片素材长图大全做医疗网站需要
  • 公司做的网站版权归谁所有网站标题怎么做链接
  • 福建网站优化查看自己电脑的网站开发语言
  • 赣icp南昌网站建设网站页尾设计
  • 东莞网络网站建设思明区建设局网站
  • 扁平化颜色网站下载莱芜都市网app
  • 商业网站和企业网站的区别石家庄营销型网站建设公司
  • 巴中交通建设有限公司网站淮北网站建设推广
  • 官方黄金网站软件app大全下载网站服务公司代买空间有无义务