帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  DZ论坛UCenter修改密码时通知其它应用的密码为空的处理方法

DZ论坛UCenter修改密码时通知其它应用的密码为空的处理方法

2016-07-18 23:41:12 10545

现象:修改密码时,UCenter通知其它应用的密码为空。

解释:UCenter原始程序在修改密码时,其实并没有对密码进行同步传递,看uc_client源码发现,Discuz! 接收的同步密码也只是随机生成的字符串。可能是为了安全或某种原因!

解决:对UCenter的服务器端(uc_server)程序进行修改,添加密码的同步通知!具体操作如下:

1、UCenter后台更改密码后的通知程序:uc_servercontroladminuser.php,将其中的以下代码:

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');

修改为:

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password='.$orgpassword);

2、UC通知程序:uc_servercontroluser.php,将其中的以下代码:

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');

修改为:

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password='.$newpw);

另外,如果是在应用里修改密码,而应用程序使用独立用户数据库,则需要修改ucenter客户端(uc_client)的相应代码:

打开 uc_clientcontroluser.php 查找

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');

修改为:

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password='.$newpw);


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: