Strapi自定义身份验证控制器

时间:2020-05-24 14:44:32

标签: 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中,但仍然无法正常工作。

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

任何帮助将不胜感激,我在这里看不到我所缺少的。

1 个答案:

答案 0 :(得分:2)

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

所以我会帮助您。

首先是自定义文档-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

基于文件路径和trapi中的自定义方式。 您将必须为此路径--

创建文件

然后使用源代码功能创建一个extensions/users-permissions/controllers/Auth.js并对其进行更新。

这应该有效