gerrit - Gerrit/NoteDB 用户管理
问题描述
我正在切换我们用来验证对 Gerrit 的访问的 LDAP 后端。
当用户通过 LDAP 登录时,会在 Gerrit 中创建一个本地帐户。我们正在运行 Gerrit 2.15 版,因此我们的本地用户帐户已从 SQL DB 迁移到 NoteDB。
我们基础设施的变化意味着一旦切换了 LDAP 后端,用户登录将在 Gerrit 中显示为新用户,因此将生成一个新的本地帐户。因此,我们需要在迁移前后对现有本地帐户执行一些管理任务。
REST API 公开了我们需要的一些功能,但是似乎缺少两个关键元素:
- 似乎无法通过 API 检索所有本地帐户的列表(这样我就可以遍历以执行我需要完成的管理任务)。/accounts/ 端点坚持指定查询过滤器,这似乎不包括简单地指定“全部”或“*”的方法。相反,我不得不尝试考虑一个能够可靠地返回所有帐户的搜索过滤器——我还没有成功。
- 似乎无法删除帐户。迁移完成后,我需要删除旧帐户,但没有记录 API 或任何其他删除旧帐户的方法。
有没有人找到他们可以分享的这些任务的解决方案?
解决方案
我得出的结论是,我的问题的答案是:
(以下示例中的“/a/”正在访问管理端点,因此需要基本身份验证并且用户具有适当的权限)
检索所有帐户
没有办法在单个查询中执行此操作,但是结合以下结果:
GET /a/accounts?q=is:active&n=<number larger than the number of users>
GET /a/accounts?q=is:inactive&n=<number larger than the number of users>
将有效地提供相同的东西。
删除帐户
似乎这根本不受支持。唯一的选择似乎是将帐户设置为非活动状态:
DELETE /a/accounts/<account_id>/active
推荐阅读
- laravel - 如何获取 laravel 项目中的会话数?
- ios - VC加载时如何默认打开特定选项卡,在CAPSPageMenu中打开子ViewController时如何移动到索引选项卡?
- python - 计算泡菜文件的熵
- javascript - 将 XML 转换为 Json。并获取特定数据(Javascript)
- repast-simphony - Repast - 从没有 GUI 的 java 程序调用模拟
- javascript - 在 for 循环中使用 async/await 不会等待异步方法调用
- javascript - 如果 Apollo Server 自动触发 Sequelize 查询,如何覆盖默认解析器?
- android - moshi 自定义 JsonAdapter 跳过坏元素的问题
- flutter - 如何在三元运算符中使用多个语句时摆脱“避免使用不必要的语句”
- python - 如何在熊猫数据框中设置第二个?