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, '-'('somepass')) WHERE user_name = 'someuser';

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

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

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

UPDATE mwuser = md5(user_id || '-' || md5WHERE user_name= 您还可以尝试使用重设密码插件

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...