ページ 11

管理画面のパスワードを忘れた場合は?

投稿記事Posted: 2012年6月14日(木) 15:54
by kuroki
パスワードを忘れてしまい、管理画面からログインできなくなってしまいました。
思い当たるパスワードを全て入れてみたのですがダメでした。
この場合、再設定する方法や調べる方法などないのでしょうか。
また1から全て作り直さないとダメなのでしょうか。

パスワードを忘れたとき、皆さんはどのように対処しているのでしょうか。
ご教授いただけると幸いです。

Re: 管理画面のパスワードを忘れた場合は?

投稿記事Posted: 2012年6月17日(日) 02:04
by okada
kurokiさん

パスワードを忘れた場合ですが、
パスワードが正しくなくてもログインできるようにファイルを書き換えてログインし、
管理画面でパスワード変更を行なう、というのが今のところ取り得る方法だと思います。

書き換えるファイルですが、
common/logic/admin/Administrator/AdministratorLogic.class.php
の27行目あたりに
コード: 全て選択
   function login($userid,$password){
      $dao = SOY2DAOFactory::create("admin.AdministratorDAO");
      try{
のようにあると思いますので、これを
コード: 全て選択
   function login($userid,$password){
      return true;//この行を追加!
      $dao = SOY2DAOFactory::create("admin.AdministratorDAO");
      try{
としてください。
これでパスワードが正しくなくてもログインできてしまうようになります。

これでログインしたら必ずただちにファイルを元に戻してください。
作業後念のため違うパスワードでログインできないことを確認してください。

できれば作業前にBasic認証をかけるか、IPアドレスでのアクセス制限をかけるなど行なうことをおすすめします。


そろそろSOY CMSにパスワードリマインド機能を付けたいと思います。

Re: 管理画面のパスワードを忘れた場合は?

投稿記事Posted: 2012年6月18日(月) 15:02
by kuroki
okada様

ご回答いただき、ありがとうございます。

早速教えていただいた方法を試したところ、
ログインはできたのですが、パスワード変更ができませんでした。

ログインした画面には、[トップ]と[アカウント設定]タブしかありません。
ちなみに[アカウント設定]タブをクリックすると、HTTP500内部サーバーエラーが表示されます。

soy cms: Version: 1.3.5a
サーバー: さくらインターネット

何が原因なのでしょうか?
何度も申し訳ありませんが、教えていただけると幸いです。

今後のバージョンアップ時には、パスワードリマインド機能、ぜひよろしくお願いします。

Re: 管理画面のパスワードを忘れた場合は?

投稿記事Posted: 2012年7月31日(火) 14:00
by うらかわ
僕も困っています! :?:

下記と同じ症状です。

>早速教えていただいた方法を試したところ、
>ログインはできたのですが、パスワード変更ができませんでした。

>ログインした画面には、[トップ]と[アカウント設定]タブしかありません。

Re: 管理画面のパスワードを忘れた場合は?

投稿記事Posted: 2013年10月29日(火) 17:40
by okada
こんにちは。
長らく返答もなく申し訳ございません。

以前に
common/logic/admin/Administrator/AdministratorLogic.class.php
の26行目あたりの login を書き換えればログインできるようになると書いておりましたが、
すでにご指摘のあるとおりこれだけではログインはできてもパスワードの変更ができませんでした。

26行目あたりの login だけでなく114行目あたりの checkUserIdAndPassword も書き換える必要があります。
具体的には
コード: 全て選択
    function checkUserIdAndPassword($id,$password){
      $dao = SOY2DAOFactory::create("admin.AdministratorDAO");
      try{
         $entity = $dao->getById($id);
とあるところをこれも
コード: 全て選択
    function checkUserIdAndPassword($id,$password){
      return true;//この行を追加!
      $dao = SOY2DAOFactory::create("admin.AdministratorDAO");
      try{
         $entity = $dao->getById($id);
としてください。


なお、現在最新版のSOY CMS(1.5.0以降)にはパスワード忘れ対策が追加されており、
メール設定とメールアドレスが登録されていればパスワードを忘れたときにリセットできるようにしています。
ご活用いただければ幸いです。

Re: 管理画面のパスワードを忘れた場合は?

投稿記事Posted: 2019年3月11日(月) 04:28
by inunosinsi
昨日、今回の話題では対応できなかったという連絡がありましたので、
現在のバージョン(3.0.2)で確認しながらパスワードの再設定の方法をまとめました。
SOY CMSで管理画面のログイン時のパスワードを忘れた場合の再設定 - saitodev.co