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

Web应用可正常登录但无法创建新用户,POST请求权限报错求助

排查Directus新用户注册无权限问题的关键点
  • 检查公共角色(Public Role)的权限配置
    注册接口默认走公共权限,得确保Public角色对users集合开了**创建(Create)**权限,权限范围别设成“仅自身”——注册时还没生成用户ID,这个规则会直接拦截请求。另外要确认/users的POST端点允许Public角色访问。

  • 核对注册相关环境变量
    打开.env文件,确认PUBLIC_REGISTRATION设为true,这是公开注册的核心开关。同时检查PUBLIC_REGISTRATION_ROLE是否填对了目标角色ID(比如你想让新用户默认拥有的User角色ID),填错或空着都会导致权限不匹配。

  • 验证用户集合的字段权限
    注册时要提交的字段(比如email、password),必须确保Public角色对这些字段有创建权限。要是把必填字段的创建权限关了,会直接因为字段权限不足导致请求被拒。

  • 排查自定义逻辑干扰
    如果项目加了自定义Hook或Flow(比如用户创建前的校验逻辑),要确认这些逻辑没拦截正常注册请求——比如Hook里是不是错误返回了权限拒绝响应,或者Flow触发条件导致请求中断。

  • 测试原生Directus接口
    绕开你的Web应用,直接用Postman或curl调用/users的POST接口,传email、password等必填字段,看能不能成功创建用户。原生接口失败的话,问题肯定在Directus配置;原生接口成功的话,大概率是你的Web应用请求参数有误(比如漏传字段、请求头不对)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:50:55