CakeDC用户插件:changePassword后重定向错误

时间:2017-11-02 18:38:19

标签: cakephp cakephp-3.x cakedc

我的应用程序是在CakePHP 3.x中开发的。

我使用CakedDC Users插件,它工作正常,除非用户想要更改密码,然后点击提交。

假设我们的个人资料ID = 52606b3f-c72d-4485-9c76-3b0f8

“编辑”页面有一个这样的网址:

  

本地主机/ my_app应用/简档/ 52606b3f-c72d-4485-9c76-3b0f8

changePassword页面有一个这样的网址:

  

localhost / my_app / users / users / change-password / 52606b3f-c72d-4485-9c76-3b0f8

当我点击提交时,它会重定向到个人资料页面,但ID会丢失:

  

localhost / my_app / profile

我收到此错误消息:

  

使用主键[NULL]

在表“users”中找不到记录

我认为原因是ID没有通过。我找不到在哪里以及如何解决它。

请帮忙吗?。

2 个答案:

答案 0 :(得分:1)

当未传递id时,将从登录用户中获取id。你可以看一下src / Controller / Traits / ProfileTrait.php。你可以调试$ this-> Auth-> user('id')?

此外,您可以在更改密码后自定义重定向网址。配置:: write('Users.Profile.route',[{url}]),参见src / Controller / Traits / PasswordManagementTrait.php Ln44。

答案 1 :(得分:0)

我不记得我的初始代码,但几个月后,我找到了解决方案。

在src / Controller / Traits / ProfileTrait.php中,设置 $ redirect = Configure :: read(' Users.Profile.route');

def length_inches(x):
    if x is not None:
         return int(x)*12