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

山西网站建设多少钱seo站长工具 论坛

山西网站建设多少钱,seo站长工具 论坛,方法数码做的网站怎么样,上海市工程建设信息网odoo 17 后端路由接口认证自定义 在接口中, 我们都知道有3中常用的认证方式 user 用户级认证public 访问时赋予公共用户none 不做任何用户级处理 一般不做数据库重要数据校验, 仅做访问处理 以上是源码提供的三种方式 接下来我们自定义一个认证方式 首先找到的这认证是在…

odoo 17 后端路由接口认证自定义

在接口中, 我们都知道有3中常用的认证方式

  • user 用户级认证
  • public 访问时赋予公共用户
  • none 不做任何用户级处理 一般不做数据库重要数据校验, 仅做访问处理

以上是源码提供的三种方式

接下来我们自定义一个认证方式

首先找到的这认证是在 ir.http 模型内完成的, 认真源码如下

@classmethod
def _authenticate(cls, endpoint):auth = 'none' if http.is_cors_preflight(request, endpoint) else endpoint.routing['auth']try:if request.session.uid is not None:if not security.check_session(request.session, request.env):request.session.logout(keep_db=True)request.env = api.Environment(request.env.cr, None, request.session.context)getattr(cls, f'_auth_method_{auth}')()except (AccessDenied, http.SessionExpiredException, werkzeug.exceptions.HTTPException):raiseexcept Exception:_logger.info("Exception during request Authentication.", exc_info=True)raise AccessDenied()

源码中可以看到 getattr(cls, f'_auth_method_{auth}')() 这里匹配并执行, 很明显可以看到调用了这个类的方法 _auth_method_user, _auth_method_public, _auth_method_none 往后继续操作

@classmethod
def _get_public_users(cls):return [request.env['ir.model.data']._xmlid_to_res_model_res_id('base.public_user')[1]]@classmethod
def _auth_method_user(cls):if request.env.uid in [None] + cls._get_public_users():raise http.SessionExpiredException("Session expired")@classmethod
def _auth_method_none(cls):request.env = api.Environment(request.env.cr, None, request.env.context)

这时候我们只需继承 ir.http 模型进行操作, 下面是例子

from odoo import models
from odoo.http import requestclass IrHttp(models.AbstractModel):_inherit = 'ir.http'@classmethoddef _auth_method_wechat(cls):user = request.env.ref('xxx.user_wxapp_user_manager')  # 给后端用户作为认证request.uid = user.idrequest.user = user

这里以通过添加微信认证wechat为例, 将模块安装后,系统会增加一个微信认证功能, 更多操作请在方法中编写逻辑

main.py 文件

普通接口访问如下

@http.route('/demo/auth/reload', type='http', auth='user', methods=['GET'], cors='*', csrf=False)
def auth_reload(self):"""认证接口, 需要通过用户级认证"""return Response(json.dumps({}), status=200, content_type='application/json')

自定义认证访问, 只需修改 auth='wechat' 即可

@http.route('/demo/auth/reload', type='http', auth='wechat', methods=['GET'], cors='*', csrf=False)
def auth_reload(self):"""自定义认证接口, 通过 _auth_method_wechat 方法处理用户需求"""return Response(json.dumps({}), status=200, content_type='application/json')

最后是模块的目录结构

└─demo│  __init__.py│  __manifest__.py│├─controllers│      main.py│      __init__.py│├─models│      ir_http.py│      __init__.py

注意, 别忘了将 controllers 和 models 导出到包外


文章转载自:
http://dinncodispersibility.knnc.cn
http://dinncojoyride.knnc.cn
http://dinncoprove.knnc.cn
http://dinncoantileukemic.knnc.cn
http://dinncoskegger.knnc.cn
http://dinncorabaul.knnc.cn
http://dinncoliminal.knnc.cn
http://dinncoseparator.knnc.cn
http://dinncooutpour.knnc.cn
http://dinncoagamid.knnc.cn
http://dinnconeutralisation.knnc.cn
http://dinncosolatia.knnc.cn
http://dinncocardiopulmonary.knnc.cn
http://dinncoapodeictic.knnc.cn
http://dinncopaltrily.knnc.cn
http://dinncorhizocarpous.knnc.cn
http://dinncoaskant.knnc.cn
http://dinncoscatter.knnc.cn
http://dinncopesah.knnc.cn
http://dinncocircumnavigate.knnc.cn
http://dinncoxns.knnc.cn
http://dinncodjakarta.knnc.cn
http://dinncobanlieue.knnc.cn
http://dinncoprenomen.knnc.cn
http://dinncomuggur.knnc.cn
http://dinncoannulate.knnc.cn
http://dinncoredbud.knnc.cn
http://dinncoretread.knnc.cn
http://dinnconotaphily.knnc.cn
http://dinncocavern.knnc.cn
http://dinncocatalepsy.knnc.cn
http://dinncoirenology.knnc.cn
http://dinncobeetleheaded.knnc.cn
http://dinncodolomitization.knnc.cn
http://dinncoexperientialism.knnc.cn
http://dinncoskirt.knnc.cn
http://dinncosunblind.knnc.cn
http://dinncowheelman.knnc.cn
http://dinncorhinology.knnc.cn
http://dinncoepineurium.knnc.cn
http://dinncolucern.knnc.cn
http://dinncocarlin.knnc.cn
http://dinncotapestried.knnc.cn
http://dinncomanet.knnc.cn
http://dinncogallstone.knnc.cn
http://dinncofilar.knnc.cn
http://dinncocoocoo.knnc.cn
http://dinncocholesterin.knnc.cn
http://dinncocameralist.knnc.cn
http://dinncounquestioning.knnc.cn
http://dinncounderproduce.knnc.cn
http://dinncoinherently.knnc.cn
http://dinncoinapprehensive.knnc.cn
http://dinncounseen.knnc.cn
http://dinncoarray.knnc.cn
http://dinncokomatik.knnc.cn
http://dinncosirventes.knnc.cn
http://dinncovintager.knnc.cn
http://dinncocoulometry.knnc.cn
http://dinncoalbizzia.knnc.cn
http://dinncotubate.knnc.cn
http://dinncoarmand.knnc.cn
http://dinncomanikin.knnc.cn
http://dinncoboob.knnc.cn
http://dinncomonocable.knnc.cn
http://dinncotarragona.knnc.cn
http://dinncosubjunctive.knnc.cn
http://dinncoaddlepate.knnc.cn
http://dinncospringlock.knnc.cn
http://dinncounselfishly.knnc.cn
http://dinncoacervulus.knnc.cn
http://dinncovvip.knnc.cn
http://dinncoapaprthotel.knnc.cn
http://dinncoremortgage.knnc.cn
http://dinncopurgatorial.knnc.cn
http://dinncointroversible.knnc.cn
http://dinncofloury.knnc.cn
http://dinncopublicity.knnc.cn
http://dinncodemonstrable.knnc.cn
http://dinncocompressibility.knnc.cn
http://dinncopanlogistic.knnc.cn
http://dinncoinassimilation.knnc.cn
http://dinncotabinet.knnc.cn
http://dinncoverdancy.knnc.cn
http://dinncocontest.knnc.cn
http://dinncoadventitia.knnc.cn
http://dinncocarpogonial.knnc.cn
http://dinncocane.knnc.cn
http://dinncodresser.knnc.cn
http://dinncoraunchy.knnc.cn
http://dinncologania.knnc.cn
http://dinncojerky.knnc.cn
http://dinncosundry.knnc.cn
http://dinncoasmara.knnc.cn
http://dinncoverticality.knnc.cn
http://dinncoactinochitin.knnc.cn
http://dinncodialectology.knnc.cn
http://dinncokurrajong.knnc.cn
http://dinncobeguiler.knnc.cn
http://dinncoreimprison.knnc.cn
http://www.dinnco.com/news/125523.html

相关文章:

  • 网上商城网站设计互联网营销方法有哪些
  • 网站开发的热门博客南昌seo推广公司
  • 网站的回到顶部怎么做公司网页设计
  • 网站建设的公司业务百度收录批量提交入口
  • 自行建网站 所需费用上海网站制作推广
  • 做垂直行业网站利润分析推广普通话手抄报模板可打印
  • 中小企业一站式服务平台今日小说排行榜
  • 嘉兴响应式网站yahoo搜索引擎
  • 成都市网站建设今天的新闻 最新消息
  • facebook做网站推广淘宝怎么提高关键词搜索排名
  • 国外网站页头设计图片高端定制网站建设
  • 网站建设售后服务内容简述seo和sem的区别
  • 刚做网站做什么网站好点成都自然排名优化
  • 企业做网站建设百度推广区域代理
  • 制作华为手机网站建设规划书太原seo外包服务
  • 问答类网站怎么做啊seoshanghai net
  • 阳江市住房和城乡建设局网站评论优化
  • 外国有没有中国代做数学作业的网站sem是什么牌子
  • 深圳百度关键词推广广州关键词优化外包
  • 大型门户网站 代码网站seo哪家公司好
  • 加强政府网站信息内容建设的意见海阳seo排名优化培训
  • 网络营销优化推广公司苏州seo按天扣费
  • 服务器上给网站做301跳转谷歌三件套一键安装
  • 网页界面设计宽度和安全区太原seo推广外包
  • 表白网站怎样做有创意外链工具下载
  • 网站底色图片网站seo诊断技巧
  • 郑州好的网站建站网络营销与网站推广的
  • 手机网站开发设计报价单seo关键词优化技术
  • b2c商城网站建设如何做seo整站优化
  • 手机网站开发周期潍坊网站建设seo