Files
gerrit/数据库检查结果.md
2025-12-22 17:12:39 +08:00

2.6 KiB
Raw Blame History

数据库检查结果

检查发现

  1. 数据库表为空:新安装的 Gerrit 数据库可能还没有创建表结构
  2. 但账户可以登录:从日志看,账户 1000000 可以成功登录(a/1000000

问题分析

不是数据库问题,而是浏览器 Cookie 问题。原因:

  1. 服务器端登录成功(日志显示 a/1000000
  2. 账户存在(否则无法登录)
  3. 浏览器没有保存 Cookie所以显示匿名

Chrome 浏览器对 Cookie 有严格的安全策略,特别是:

  • SameSite 属性
  • Secure 属性
  • 第三方 Cookie 限制

解决方案

  1. 打开 Chrome 设置

    • 点击右上角三个点 → 设置
    • 或访问:chrome://settings/cookies
  2. 检查 Cookie 设置

    • 确保不是"阻止所有 Cookie"
    • 建议选择"允许所有 Cookie"
    • 或者"仅阻止第三方 Cookie"
  3. 检查网站特定设置

    • 访问:http://101.43.95.130:8080
    • 点击地址栏左侧的锁图标或"不安全"
    • 点击"Cookie"
    • 确保允许 Cookie

方案二:使用开发者工具检查

  1. F12 打开开发者工具
  2. 切换到 Application 标签
  3. 左侧选择 Cookies → http://101.43.95.130:8080
  4. 点击 Account ID 1000000 登录
  5. 查看是否出现 Cookie

如果没有 Cookie说明 Chrome 阻止了 Cookie。

方案三:检查网络请求

  1. F12 → Network 标签
  2. 点击 Account ID 1000000 登录
  3. 查看 /login?account_id=1000000 请求
  4. 查看 Response Headers 中的 Set-Cookie
  5. 查看后续请求的 Request Headers 中是否有 Cookie

方案四:尝试 Firefox 浏览器

Firefox 对 Cookie 的限制通常较少,可以尝试:

  1. 下载并安装 Firefox
  2. 访问:http://101.43.95.130:8080
  3. 点击 Account ID 1000000 登录
  4. 如果 Firefox 可以登录,说明是 Chrome 的 Cookie 策略问题

方案五:使用无痕模式测试

  1. Ctrl+Shift+N 打开无痕窗口
  2. 访问:http://101.43.95.130:8080
  3. 点击 Account ID 1000000 登录

如果无痕模式下可以登录,说明是 Chrome 扩展程序或设置的问题。

当前配置

[httpd]
    listenUrl = http://*:8080/
    cookieSecure = false
    cookieSameSite = NONE

这是最宽松的 Cookie 配置,应该可以工作。

结论

这不是数据库问题,而是 Chrome 浏览器的 Cookie 安全策略导致的。请按照上述方案检查 Chrome 的 Cookie 设置。