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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM