odoo16-API(Controller)带有验证访问的接口

odoo16-API(Controller)带有验证访问的接口

目前我使用odoo原生的登录token来验证登陆的有效性

废话不多说直接上代码

# 测试获取session_id
import requests
class GetOdooData(http.Controller):def getOdooToken(self):# http://localhost:8123访问odoo的路径,后面的web/session/authenticate固定写法请不要动!!!url = "http://localhost:8069/web/session/authenticate"# 传入需要访问的数据库名称,登录账号与密码data = {"params": {"db": "devodoo16.0","login": "odoo","password": "odoo",}}headers = {'Content-type': 'application/json'}response = requests.post(url, headers=headers, json=data)# 从服务器返回的响应信息中获取名为"session_id"的cookie的值,并将其返回。return response.cookies["session_id"]@http.route('/test', type='json', auth="none", cors="*", csrf=False)def test(self, **kw):odootoken = self.getOdooToken()return odootoken# 用此代码进行接口测试,查看前端是否拿到了session_id

我这是把数据库+用户+密码直接写死用来测试的,你也可以把用户+密码改为前端传参数形式这里就不阐述了···想要的话私信发你

修改接口验证auth=user 的

代码如下

    @http.route('/getdata', type='json', auth="user", cors="*", csrf=False)def getdata(self, **kw):# dingdan_h = 4900145711dingdan_h = kw.get('dingdan_h')print("dingdan_h==",dingdan_h)dingdan = request.env['dc.kaishik.dd'].sudo().search([('dingdan_h', '=', dingdan_h)])#随便找个模型查询一条数据if not dingdan:back_data = {'code': 300, 'msg': '订单不存在'}return (back_data)data = {"dingdan_h": dingdan.dingdan_h,"dingdan_lx": dingdan.dingdan_lx,"jiaohuo_date": dingdan.jiaohuo_date,}back_data = {'code': 100, 'msg': '查询订单成功', 'data': data}print("back_data==",back_data)return (back_data)

重启刷新,访问getdata接口,并且在前端的(Headers)头部写入key:X-Openerp-Session-Id;value填入刚刚拿到的cookie

就可以拿到数据

如果在前端的(Headers)头部 不填写 key:X-Openerp-Session-Id 那么返回就为如下

以上   溜了  ~~~   Bye ~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/695407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

objectMapper、ObjectNode、JsonNode调用接口时进行参数组装

objectMapper、ObjectNode、JsonNode用于调用接口时进行参数组装 public String sendText( List< String > listUser, String content ) throws JsonProcessingException{if ( listUser.size() < 0 ){return "用户ID为空&#xff01;";}if ( content.lengt…

【深入理解设计模式】 工厂设计模式

工厂设计模式 工厂设计模式是一种创建型设计模式&#xff0c;它提供了一种在不指定具体类的情况下创建对象的接口。在工厂设计模式中&#xff0c;我们定义一个创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂设计模式的目…

.Net Core_1_

从今天开始学习.Net Core的相关技术&#xff0c;我的文章内容基本出自B站杨中科老师的课程 .NET 6教程&#xff0c;.Net Core 2022视频教程&#xff0c;杨中科主讲_哔哩哔哩_bilibili 可以把这个系列文章看作是学习笔记&#xff0c;方便查阅和回顾 废话不多说&#xff0c;开…

part2 思维导图(微分部分)

1. 导数和微分 2. 一元微分学 2.1 四则运算 2.2 口诀 2.3 导数计算 2.3.1 计算1 2.3.1 计算2

RAID 创建使用以及ubuntu安装和使用zfs文件系统及Ubuntu软件安装

RAID 创建使用 部署 RAID 10 的学习 1. 搭建 RAID 10 就是 RAID 1 加上 RAID 0,准备四块磁盘&#xff0c;用于创建 RAID 10,配置vmware虚拟机&#xff0c;创建四个虚拟硬盘。 2. 检查磁盘信息 rootubuntu:~# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/s…

OpenAI的Sora:AI视频模型的新里程碑

Sora - 探索AI视频模型的无限可能 随着人工智能技术的飞速发展&#xff0c;AI视频模型已成为科技领域的新热点。而在这个浪潮中&#xff0c;OpenAI推出的首个AI视频模型Sora&#xff0c;以其卓越的性能和前瞻性的技术&#xff0c;引领着AI视频领域的创新发展。让我们将一起探讨…

C++面试:数据库的权限管理数据库的集群和高可用

目录 一、数据库的权限管理 1. 用户和角色管理 用户管理 实例举例&#xff08;以MySQL为例&#xff09;&#xff1a; 角色管理 实例举例&#xff08;以MySQL为例&#xff09;&#xff1a; 总结 2. 权限和授权 用户和角色管理 用户管理 角色管理 权限和授权 权限 授…

【汽车点火开关的四个档位:START、ON、ACC、LOCK】

START档&#xff1a;启动档&#xff0c;将钥匙拧到此位置时&#xff0c;启动机电路接通&#xff0c;会带动发动机运转并启动。松开后钥匙会自动回到ON档。 而START档是发动机启动档位&#xff0c;启动后会自动恢复正常状态也就是ON档。 LOCK档&#xff1a;锁止档&#xff0c;…

win32汇编定时器继续学习2

前面学习了win32汇编定时器&#xff0c;还非常不熟悉&#xff0c;继续熟悉&#xff0c;稍微增加一点功能&#xff1b; .386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32…

Web 服务相关概念

状态是web服务的概念&#xff0c;比如不需要登录的浏览门户网站就是无状态的&#xff0c;需要登陆转账买东西这种就是有状态的 有状态服务和无状态服务的区别&#xff1a; 有状态和无状态是两种却不同的服务架构&#xff0c;两者的不同之处在于服务状态的处理。服务状态是服务…

2024生物发酵展创新盛会-兰格恒流泵

​ 参展企业介绍 兰格恒流泵有限公司成立于1997年&#xff0c;是英国豪迈国际有限公司&#xff08;Halma&#xff09;的全资子公司。我们始终坚持以客户需求为导向&#xff0c;提供安全、高精度及高品质的流体传输设备和解决方案。兰格产品系列超…

设计模式浅析(七) ·适配器模式

设计模式浅析(七) 适配器模式 日常叨逼叨 java设计模式浅析&#xff0c;如果觉得对你有帮助&#xff0c;记得一键三连&#xff0c;谢谢各位观众老爷&#x1f601;&#x1f601; 适配器模式 概念 适配器模式将一个类的接口转换成客户期望的另一个接口。适配器让原本接口不兼…

前端架构: 脚手架之Chalk和Chalk-CLI使用教程

Chalk Chalk 是粉笔的意思, 它想表达的是&#xff0c;给我们的命令行中的文本添加颜色类似彩色粉笔的功能 在官方文档当中&#xff0c;它的 Highlights 核心特性 Expressive API Highly performant No dependencies Ability to nest styles 256/Truecolor color support Auto-…

提高工作效率,体验ONLYOFFICE办公软件

ONLYOFFICE办公软件 一、前言二、特点完整办公套件协作过程更容易 三、访问地址 一、前言 随着数字化办公的普及&#xff0c;办公软件在我们的工作中扮演着越来越重要的角色。为了提高工作效率&#xff0c;我们需要一个功能强大、易于使用的办公软件。ONLYOFFICE作为一款全功能…

分布式系统一致性与共识算法

分布式系统的一致性是指从系统外部读取系统内部的数据时&#xff0c;在一定约束条件下相同&#xff0c;即数据&#xff08;元数据&#xff0c;日志数据等等&#xff09;变动在系统内部各节点应该是一致的。 一致性模型分为如下几种&#xff1a; ① 强一致性 所有用户在任意时…

安装SSH连接工具

连接Linux 1). 打开finalShell 2). 建立连接 Linux目录结构 在Linux系统中&#xff0c;也是存在目录的概念的&#xff0c;但是Linux的目录结构和Windows的目录结构是存在比较多的差异的 在Windows目录下&#xff0c;是一个一个的盘符(C盘、D盘、E盘)&#xff0c;目…

东南大学easyconnect无法连接校园网的解决方案

一般没设置柯学上网的电脑都没什么问题 1.网络异常 加上clash直连即可

标准版无法支持tts,所以替换/bin/oracle文件试试?

之前我们确认了oracle标准版不支持tts-CSDN博客&#xff0c;那有没有办法绕过这个问题呢&#xff1f; 测试通过将$ORACLE_HOME/bin/oracle的企业版文件替换掉标准版的oracle文件之后&#xff0c;发现可以做tts操作。 缺点在线mv oracle会是alert日志大量告警&#xff0c;此时…

SpringBoot 使用 JWT 保护 Rest Api 接口

用 spring-boot 开发 RESTful API 非常的方便&#xff0c;在生产环境中&#xff0c;对发布的 API 增加授权保护是非常必要的。现在我们来看如何利用 JWT 技术为 API 增加授权保护&#xff0c;保证只有获得授权的用户才能够访问 API。 一、Jwt 介绍 JSON Web Token (JWT)是一个开…

五种多目标优化算法(NSWOA、MOJS、MOAHA、MOPSO、NSGA2)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 1.1NSWOA 1.2MOJS 1.3MOAHA 1.4MOPSO 1.5NSGA2 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数&#xff08;zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3&#xff09;&#xff0…