ページ 1 / 1
「ログイン情報を記憶する」が機能しません 【解決済み】
Posted: 2009年11月25日(水) 11:37
by kronekodow
MODxの管理画面へのログインにある「ログイン情報を記憶する」がFF、IE共に機能しません。
Cookieは許可しており、他サイト(Yahoo!であったりlivedoorであったり、Googleであったり)では正しく記憶されています。
以前の0.9.6の頃からも正常に機能していないようでした。
WebLoginスニペットのvalue記述が間違っているためという解決情報もありましたが、
現行のものをソース確認したところでは正常にvalue="1"となっていましたので、プレースホルダー記述が間違っている訳でもなさそうで・・・。
解決策のアドバイス、具体的な対策などありましたら教えていただけないでしょうか?
よろしくお願いします。
[modx]
バージョン:1.0.1J, 1.0.2J
[クライアント]
ブラウザ:Firefox3, IE7
Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月25日(水) 13:14
by sama55
これは俗に言う「オートログイン」ではなく、
ユーザー名だけを記憶・復元する機能で、不十分な翻訳が誤解を生んでるように感じます(remember_
username)。
- 現状 -
コード: 全て選択
manager\includes\lang\english.inc.php(664): $_lang["remember_username"] = 'Remember me';
manager\includes\lang\japanese-utf8.inc.php(664): $_lang["remember_username"] = 'ログイン情報を記憶する';
- 改善案? -
コード: 全て選択
manager\includes\lang\english.inc.php(664): $_lang["remember_username"] = 'Remember me';
manager\includes\lang\japanese-utf8.inc.php(664): $_lang["remember_username"] = 'ユーザー名を記憶する';
Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月25日(水) 15:56
by kronekodow
返信ありがとうございました。
> ユーザー名だけを記憶・復元する機能
「ログイン情報を記憶する」にチェックすると、次にブラウザでログイン画面を開いたときにフォームへユーザ名が入力された状態になるんですよね?
何故かそれすらも機能せず、Cookieに情報が記憶されないのか、Cookieから読み出せてないのか・・・と言った状態でした。
とりあえず順を追って確認しているところですが、
/assets/templates/manager/login.html
を確認してみたところ、inputがそれぞれ
name="username" value="[+uid+]"
name="password" value=""
となっているので、パスワードまでは補完してくれないことが分かりました。(逆に、このあたりをいじればパスワードまで補完してくれるんですね。)
/manager/includes/accesscontrol.inc.php
このソース内で
$modx->setPlaceholder('uid',$uid);
$uid がどうやら空っぽい・・・今の所ここまでしか分かっていません。
Cookieから取得できない原因か、記憶できていない原因まであと一歩な気がします・・・。
Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月25日(水) 17:17
by sama55
kronekodow さんが書きました:$uid がどうやら空っぽい・・・今の所ここまでしか分かっていません。
Cookieから取得できない原因か、記憶できていない原因まであと一歩な気がします・・・。
なるほど・・・そういう現象ですか。ちょっと見てみます。
Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月25日(水) 21:26
by yama
http://svn.modxcms.com/jira/browse/MODX-1455
この件は関係ありそうでしょうか。今日改修されたチケットですが。$uidまわりも更新されてます
ちなみにパスワードの保管は問題があって(htmlソースでパスワードをのぞけてしまう)、キープするとしたらログイン状態そのものかな?と思います。ログインしっぱなし状態もあまり推奨できませんが・・
Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月26日(木) 09:19
by kronekodow
遅くなりました、情報ありがとうございます!
結構ピンポイントな情報な気がしますので、これから確認させていただきます。
確かにパスワードは埋め込んでしまうとソースで確認されてしまうので、
何か対策の上で記憶対応させられたら。
Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月26日(木) 09:24
by yama
このテの情報はリポジトリウォッチャーで追うとラクですよ。実際にソースがどう手を加えられたのかもその場で確認できますし。WindowsだったらCommitMonitorがおすすめ。URLは
http://svn.modxcms.com/svn/tattoo/tattoo をウォッチする設定にしてあります。(WinMergeもインストールしておくとさらに便利)。今回のチケットではaccesscontrol.inc.phpなど3つのファイルが改修されています。
Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月26日(木) 09:31
by kronekodow
リポジトリウォッチャというのもあるんですね。
あまりバージョン管理をしたことがないので、ぜひインストールしてFix情報を追ってみます。
このような有益情報が入るならば、なおさら。
ツール、URLまでご親切に教えていただき感謝します

Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月26日(木) 10:16
by kronekodow
FixされたものでRemember meが機能するようになりました!
あとはパスワードをどう対応すべきか考えてみます。
さっそくCommitMonitorも入れてみました。(実はsvn、リポジトリも追加していなかったので、これを機に入れました)
本家でまず情報を探すように心がけたいと思います。
ありがとうございました

Re: 「ログイン情報を記憶する」が機能しません
Posted: 2009年11月26日(木) 10:43
by sama55
単なる処理抜け。。。どおりで追えば追うほど分からなくなるわけです。。。
コード: 全て選択
// login info
$uid = isset($_COOKIE['modx_remember_manager']) ? preg_replace('/[^a-zA-Z0-9\-_]*/', '', $_COOKIE['modx_remember_manager']) :'';
コード: 全て選択
// remember me
$html = isset($_COOKIE['modx_remember_manager']) ? 'checked="checked"' :'';
対応予定は1.1ですか。