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

概要

        在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有效
  • 29
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值