首页 前端知识 【odoo | JSON-RPC】由session_id进行权限控制的Api

【odoo | JSON-RPC】由session_id进行权限控制的Api

2024-08-19 22:08:10 前端知识 前端哥 708 839 我要收藏

概要

        在Odoo中,JSON-RPC(JSON Remote Procedure Call)是一种基于JSON格式的远程过程调用协议,用于客户端和服务器之间的通信。此文章将介绍 JSON-RPC中由session_id进行权限控制的Api的使用场景以及调用方式(登录、验证身份、增、删、改、查、自定义方法、路由)。

主要使用场景

  • Web 应用集成:适用于需要在浏览器中保持用户会话的 Web 应用。因为这种方式返回 session_id,可以在后续请求中使用该会话 ID。
  • 复杂权限管理:适用于需要复杂权限管理的应用,可以利用 Odoo 的会话机制进行权限验证和管理。
  • 需要与其他 Odoo Web 功能集成:如果应用需要与 Odoo 的其他 Web 功能(如 Web 客户端)集成,这种方式更合适。

调用方式 

登录

curl --request POST \
  --url http://127.0.0.1:8069/web/session/authenticate \
  --header 'content-type: application/json' \
  --data '{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "db": "csdn_module_1",//数据库名【除此之外,还需要在服务器指定数据库(可以odoo.conf配置db_name)或者只保留一个数据库,否则会出现404】
    "login": "admin",//账号
    "password": "1"//这种方式只能用密码登录,不能用密钥
  },
  "id": 123456//随机数(建议直接用时间戳或者生成一个唯一的数字)
}
//注:session_id在登录后返回,默认有效期30天(odoo14之前session_id返回在响应体body,但是14以及之后的机制产生了变更,返还的body中不再有session_id,反而返回在了Headers中)'


验证session_Id

curl --request POST \
  --url http://127.0.0.1:8069/web/session/check \
  --header 'X-Openerp-Session-Id: b827b1fe540a787981716dbd594e2b27bd47de94' \
  --header 'content-type: application/json' \
  --data '{
    "jsonrpc": "2.0",
    "method": "call",
    "params": {},
    "id": 123456
}'
返回只有这两个键值对为session_Id有效
转载请注明出处或者链接地址:https://www.qianduange.cn//article/16233.html
评论
发布的文章

php保存

2024-08-27 16:08:00

jQuery NiceScroll 插件

2024-08-27 09:08:49

vue echart4.0 按需引入

2024-08-27 09:08:28

Taro3 Vue3使用echarts

2024-08-27 09:08:49

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!