何を思い立ったか最近はパッケージの勉強してそして大変ためになるツイートを頂きながら勉強をしているのですが
突然管理画面にログインできなくなる症状が発生。
傍から見ればなんともおマヌケな事象ですがこれもまぁ今後のために恥をしのんでエントリさせていただきます。
このユーザーのアカウントは現在停止されています。サイト管理者にお問い合わせください。
エラーにあたった時はパッケージの中身をアップしたりしてただけなんだけど…(多分)
あ、ユーザープロフィール編集画面でグループ追加とかもしようと思ってたけど、ユーザー関連の修正時に誤って停止されてしまったのかな?
ちなみにパスワード変更からログインの設定リセットできないかなと試してみたけど無駄だったよ!
まずはフォーラムなどで調べる
DBを漁ってみるとuIsActiveが0になっていました。
どうも管理画面へのアクセス権限を持つユーザーが、
勝手にadminのアカウントを停止していたようです。
adminでログインできなくなる
uIsActiveが0になっているのがいけないそうなので、データベースから直接変更してみる。
0になってますね。2つともね!どういうことなの!
1にしてリトライ。
でも再ログインしようとするとまた停止されてるって表示されるの!データベース側も勝手に0に戻っちゃうの、どういうことなの!
更にググる
なので、日本語でググってもちっともひっかからないので、
This user is inactive. Please contact us regarding this account.
で検索したところありました。
concrete\core\models\user.phpの中にある
$db->Execute('update Users set uIsActive = 0 where uID = ?', array($uID));
をコメントアウトするとログインできるとのこと。
コメントアウトしてリトライ!
はいれたよー!
コアファイルをさわるのはどうなのかなと思いつつ、とりあえずこれで様子みます。
コアファイルは触らずに解決策があったらお待ちしています。
解決!!
@kmgr24 コメントアウトしたソースコードをみる限り、グループ期限設定のせいでユーザーが無効化されたみたいですね
— Takuro Hishikawa (@HissyNC) August 21, 2013
グループ期限設定!!^q^;
設定されてました…なんだろう、どんな動作をするのかとかをチェックしてたのかな…は、はずかしwwww
菱川さん(@HissyNC)お忙しいのにリプありがとうございました!いつもありがとうございます!
グループだけじゃなく、とつぜん特定のページだけ表示されなくなった!とか、特定のユーザーがログインできない!とかそういう症状にあった場合はグループやページ等に期限設定がされていないかを確認してみるのも大事ですね。
今回の事象とは直接関係ないけれど
セキュリティ対策でユーザーIDにadmin使うのどうなの?という声もあるそうです。ちょっと前にWordpressでも変えて変えてー!!って言われてましたね。確かにはじめにadminでとっかかると思うので、必要でしたら(特に仕事的な場合は)変更しておくのがベターだと思います。
私も今回のケースを踏まえてかえました。