首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“web/会话/身份验证”API端点返回一个错误,而不是session_info在V16中

“web/会话/身份验证”API端点返回一个错误,而不是session_info在V16中
EN

Stack Overflow用户
提问于 2022-10-31 01:22:45
回答 1查看 137关注 0票数 0

我正在使用odoo V16。当我用正文中正确的用户凭据向web/会话/身份验证端点发送POST请求时,如下所示:

代码语言:javascript
复制
{
    "params": {
        "db":<DB>,
        "login": <LOGIN>,
        "password": <PASSWORD>
    }
}

我收到了错误消息"'NoneType‘对象没有属性'user'“的错误响应。预期的行为是具有会话信息的JSON响应,如下所示:

代码语言:javascript
复制
{
    "jsonrpc": "2.0",
    "id": null,
    "result": {...}
} 

我不确定这是新的odoo版本中的一个bug,还是我做错了什么。任何帮助都是非常感谢的。谢谢!

全错误响应

{ "jsonrpc":"2.0","id":null,“错误”:{“代码”:200,“消息”:"Odoo错误“,”数据“:{”名称“:"builtins.AttributeError",”调试“:”回溯(最近一次调用):文件“/Odoo-16/odoo/http.py,1963年,在 call response = request._serve_nodb() File "/odoo-16/odoo/http.py”中),第1516行,在_serve_nodb response = self.dispatcher.dispatch(rule.endpoint,args) File "/odoo-16/odoo/http.py“中,第1775行,在调度结果=终结点(**self.request.params) File "/odoo-16/odoo/http.py”中,第673行,在route_wrapper response=端点(self,*args,**params_ok) File "/odoo-16/addons/web/controllers/session.py“中,第52行,在身份验证打印(‘session_info’,env‘ir.sessioninfo() File "/odoo-16/addons/web_tour/models/ir_http.py",第12行,在session_info result = super().session_info() File“/odoo-16/addons/web/model/ir_http.py”中,第68行,在session_info user = request.env.user AttributeError中:'NoneType’对象没有属性'user‘,"message":’NoneType‘对象没有属性’user‘,“参数”:"'NoneType‘对象没有属性'user'“、”上下文“:{} } }

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-17 18:17:07

我也面临着同样的问题,我找到了一个解决办法。

问题

当您调用Odoo进行身份验证web/session/authenticate时,问题就会发生。

我们通常将POST请求中的登录数据发送到服务器

代码语言:javascript
复制
{"params":{"db":"odoo16","login":"admin","password":"***"}}

我有个错误说:

代码语言:javascript
复制
   File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/ir_http.py", line 17, in session_info
     user = request.env.user
 AttributeError: 'NoneType' object has no attribute 'user'

解决方案

当服务器中有many databases时,就会出现这个问题,因此请求处理程序无法从env变量中获取user

但是如果您更新了odoo.conf并添加了一个dbfilter = odoo16,然后重新启动服务器。您将只有一个这样的数据库:

然后,如果调用API,您将得到正确的works fine响应和正确的响应,

代码语言:javascript
复制
{
    "jsonrpc": "2.0",
    "id": null,
    "result": {
        "uid": 2,
        "is_system": true,
        "is_admin": true,
        "user_context": {
            "lang": "en_US",
            "tz": "Africa/Cairo",
            "uid": 2
        },
        ...
        ...
        ...
    }
}

希望这有助于您解决您的问题,直到Odoo修复那里的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74257926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档