zoukankan      html  css  js  c++  java
  • MediaWiki如何重置用户密码

    最近在整合UCenter和MediaWiki,以及其他康盛产品,为了能够实现同步更改UCenter的应用的用户密码,必须找到各个应用的加密方式,网上现成的资料很少,经过几天的苦苦寻找,果然功夫不负有心人,最后终于在MediaWiki的手册里找到,具体方法如下(参考:http://www.mediawiki.org/wiki/Manual:FAQ/zh-hans#.E6.88.91.E5.A6.82.E4.BD.95.E6.89.8D.E8.83.BD.E9.87.8D.E7.BD.AE.E5.AF.86.E7.A0.81.EF.BC.9F):

    我如何才能重置密码?

    您可以使用maintenance/changePassword.php维护脚本来重置一名用户的密码。

    您必须在命令行下运行该脚本。换句话说,请登录到安装wiki的服务器,然后进入命令行提示符。进入安装目录,然后进入maintenance子目录。运行下列命令:

    php changePassword.php --user=someuser --password=somepass
    

    这里可见的“somepass”就是您将要设置的密码,而“someuser”就是您将修改其密码的用户名,该用户名应出现在数据库的“user”表中。

    您同样可以使用直接修改数据库的老办法。假设变量$wgPasswordSalt已被设为true值(默认),您可以在MySQL中运行下列SQL查询:

     UPDATE USER SET user_password = MD5(CONCAT(user_id, '-', 
       MD5('somepass'))) WHERE user_name = 'someuser';
    

    这里可见的“somepass”就是您将要设置的密码,而“someuser”就是您将修改其密码的用户名,该用户名应出现在数据库的“user”表中。

    Note 注意:CONCAT字符串中的user_id是一项列名,不应被替换为'someuser'。

    Note 注意:如果您得到了'dbname.user table does not exist'错误,请检查LocalSettings.php文件,并特别注意$wgDBprefix变量的值。如果该变量不为空,请尝试重复执行上述命令,并将SQL查询UPDATE子句中的user替换为$wgDBPrefix_user

    如果您使用的是PostGreSQL,请使用下列查询替代:

      UPDATE mwuser SET user_password =
        md5(user_id || '-' || md5('somepass')) WHERE user_name='someuser';
    

    您还可以尝试使用重设密码插件

     转自:http://blog.csdn.net/simpleiseasy/article/details/7181376

  • 相关阅读:
    Python爬虫框架Scrapy
    继承
    c/c++面试题(7)零碎知识总结
    Linux网络编程(多人在线聊天系统)
    第一章 计算机系统漫游
    Linux网络编程(简单的时间获取服务器)
    虚函数(1)
    c/c++面试题(9)linux方向
    Linux网络编程的一般步骤(1)
    进程/线程介绍
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2918037.html
Copyright © 2011-2022 走看看