Strapi 自定义身份验证控制器

JiL*_*Lan 5 javascript node.js node-modules strapi

我将 Strapi 用于我的 API 和后台。一切正常,除了一件事:我不知道如何覆盖用于忘记密码功能的控制器。我试图按照文档,尤其是这个页面:https : //strapi.io/documentation/3.0.0-beta.x/admin-panel/customization.html#development-mode但没有机会。

这是我尝试过的:

  1. admin在项目的根目录创建一个文件夹,我在其中创建了controller/Auth.js. 在这个文件中,我创建了我的自定义 forgotPassword 函数,但它没有被调用。
  2. 添加文件admin/config/routes.json,我的控制器有相同的名称,但我想也许我需要在这里重复路由来覆盖,仍然没有成功。
  3. 我在某些页面上看到,为了获得我正在搜索的内容,我需要将这些文件(config/routes.json 和 controller/Auth.js)放在里面/extensions/user-permissions/admin,但它仍然无法正常工作。

无论我尝试什么,它始终是从 Strapi-admin 节点模块调用的默认忘记密码控制器。

任何帮助将不胜感激,我不明白我在这里遗漏了什么。

Jim*_*RIE 4

这是正常的,因为您没有将文件写入正确的位置。

所以我会帮助你。

首先是定制文档 - https://strapi.io/documentation/3.0.0-beta.x/concepts/customization.html#plugin-extensions

然后我们必须在代码源中找到我们想要更新的文件。

这是函数 - https://github.com/strapi/strapi/blob/master/packages/strapi-plugin-users-permissions/controllers/Auth.js#L266

基于文件路径和strapi中自定义的方式。您必须为此路径创建一个文件extensions/users-permissions/controllers/Auth.js

然后创建一个module.exports带有源代码的函数并更新它。

这应该有效