• 技术文章 >后端开发 >php教程

    discuz! X3.2 论坛修改密码不同步UCenter

    2016-08-08 09:31:47原创585

    与注册一样,discuz修改密码是单向修改,不会主动通知其它应用站点。要实现此功能只能改UCenter的机制,下面给出步骤:

    修改一:UC后台更改密码后的通知程序:主目录/uc_server/control/admin/user.php 277行
    将:
    $_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');
    更改为:
    $_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password='.$orgpassword);


    修改二:UC通知程序:主目录/uc_server/control/user.php 99行
    将:
    $_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');
    更改为:
    $_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password='.$newpw);


    修改三:主目录/uc_client/control/user.php 第99行
    将:

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

    更改为:

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

    以上修改只能让discuz同步UCenter,而不能通知其它的应用站点,要想达到在论坛修改密码后,在应该站点也可以使用的话需要修改应用站点的登录机制。

    我暂时使用的方法是:应用站点登录的时候先用帐号密码验证在论坛是否可以登录(uc_user_login方法可以实现,具体请查看UCenter接口开发手册),如果可以登录,那就更新应用站点的密码为输入的密码,如果不能登录,那就提示用户密码错误,这样也可以实现相同的功能,只不过应用站点要多浪费点代码。

    如果有更好的方法再来更新!!

    以上就介绍了discuz! X3.2 论坛修改密码不同步UCenter,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:win8.1下vs2013编译nginx 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文解析PHP元转分的错误示范(附代码实例)• PHP+Socket系列之实现websocket聊天室• PHP+Socket系列之实现客户端与服务端数据传输• PHP+Socket系列之IO多路复用及实现web服务器• 一文详解PHP用流方式实现下载文件(附代码示例)
    1/1

    PHP中文网