You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo网站未登录时显示管理员而非登录按钮,伴会话过期错误

解决Odoo 10右上角显示异常+会话过期报错问题

我之前维护Odoo 10系统时碰到过完全一样的问题,结合你给出的错误信息,给你几个实用的排查和解决方向:

1. 优先清理浏览器端会话缓存

这是最常见的诱因——浏览器本地存储的会话数据错乱,导致前端误判当前用户状态:

  • 打开浏览器开发者工具(F12),找到Application标签(Chrome)或存储标签(Firefox),清空Local Storage、Session Storage和Cookies里对应Odoo域名的所有数据
  • 或者直接用无痕模式打开页面,验证是否恢复正常

2. 检查服务器端会话配置与状态

错误日志里明确提示Odoo Session Expired,说明服务器端会话管理可能出了问题:

  • 先重启Odoo服务,很多时候会话缓存堆积会导致这类异常,重启后能重置会话状态
  • 打开odoo.conf配置文件,检查以下参数:
    • session_expiry_delay:这个参数控制会话过期时间,如果设置得太短可能频繁触发过期
    • session_store:确认这个路径的权限正常,Odoo需要能读写该目录来存储会话文件

3. 重置前端静态资源缓存

错误信息指向web.assets_common.js,说明前端资源可能加载不全或缓存过期,导致会话判断逻辑出错:

  • 如果还能进入Odoo后台,依次点击「设置」→「技术」→「参数」→「系统参数」,找到web.base.url对应的域名,访问 http://你的域名/web/assets/clear 来强制清除前端资源缓存
  • 若无法进入后台,直接删除Odoo服务器上static/src/js、static/lib目录下的缓存文件,或者重启服务时加上参数 --load web 强制重新加载前端资源

4. 修复数据库会话数据异常

如果以上方法都没用,大概率是数据库里的会话数据错乱了:

  • 用pgAdmin或psql连接到Odoo数据库,执行以下SQL清空所有会话记录(注意:会踢掉所有在线用户,操作前提前通知):
    DELETE FROM ir_sessions;
    
  • 重启Odoo服务,让系统重新生成会话数据

附上你提到的控制台错误信息:

web.assets_common.js:3028 Server application error { "message": "Odoo Session Expired", "code": 100, "data": { "debug": "Traceback (most recent call last):\n File "/var/www/html/OCB-10.0/odoo/http.py", line 641, in _handle_exception\n return super(JsonRequest, self)._handle_exception(exception)\n File "/var/www/..."

内容的提问来源于stack exchange,提问作者Deepak Dixit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:33:46