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

Alfresco 7.4.1如何通过API批量修改本地用户密码?

Alfresco 7.4.1 批量禁用本地用户登录方案

你的需求可以实现,但你用错了API接口,以下是正确的解决方法:

为什么之前的调用失败

你使用的reset-password接口是给用户自助重置密码设计的,需要传入有效的重置令牌(key参数)——这个令牌是用户发起重置请求后通过邮件获取的,直接填写用户ID自然无效,所以该接口不适合批量操作本地用户。

正确的批量处理方案

方案1:批量更新本地用户密码

用管理员权限调用用户更新API批量设置随机/无效密码,步骤如下:

  1. 筛选所有本地用户
    调用GET接口获取属于DEFAULT域的用户(LDAP用户会在对应LDAP域,本地用户默认归属DEFAULT):

    GET http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people?filter=zoneId:'DEFAULT'&maxItems=1000
    

    注意:maxItems=1000需匹配你的用户总数,确保一次性拉取所有本地用户。

  2. 批量更新密码
    对每个本地用户,调用PUT接口更新密码:

    • 请求方法:PUT
    • URL:http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people/{personId}
    • 请求体(JSON):
      {
        "password": "32位以上的混合字符随机密码"
      }
      

    调用时需携带管理员账号的认证信息(Basic Auth或Bearer Token)。

方案2:直接禁用本地用户(更高效)

如果不需要保留用户密码的可恢复性,直接禁用用户比修改密码更简单:
同样调用PUT接口,请求体改为:

{
  "enabled": false
}

禁用后这些用户将无法登录系统,效果与改密码一致,且操作更直接。

批量操作建议

手动处理1000个用户不现实,建议编写简单脚本(如Python、Shell)自动化:

  1. 调用GET接口获取所有本地用户列表
  2. 遍历列表中的每个用户ID,循环调用PUT接口执行更新/禁用操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:22:18