Subscribe: RSS
  • こんばんは。


    WebLogin を扱い出してからの疑問ですが、Login Form にある "Remember me"
    って何か役に立っていますか?

    チェックした時は User/Password が設定されたままになっていて、チェックし
    なかった時は User/Password が空欄になっている程度です。

    初めてこのフォームを見た時は、Gmail などの「Remember me on this computer」
    と同様に、
    故意に "Logout" しない限りはログイン状態が続き、ページにアクセスすると既にログインできており、いきなりメールが読める、
    という風に、この "Remember me" もアクセスのたびにログインする必要がなく
    なるのかな、と期待していましたが、そうではないようです。

    それとも、皆さんはログイン状態が続いていますか? 私の設定が違うのだろうか?
    • こんにちは。

      ちょっと調べてみました。
      weblogin.processor.inc.php:385 (v0.9.2.1)
      		setcookie ($cookieKey, $thestring, time() + 604800, "/", "", 0);

      ...とあり、クッキー生成から 7日 (604800sec) 後に破棄される設定です。

      てことは、ブラウザを閉じてもクッキーは残り、ブラウザ起動後に直接ログイ
      ン後のページにアクセスしても、目的のページが直ぐに開かれると思うのです
      が、この認識は間違っているのでしょうかねぇ?

      実際は「Login to Enable to Comments」ページが表示されています。

      ちなみに、ブラウザを閉じなければ、ログイン後のページを開いているタブを
      閉じた後、URL を指定して再度そのページを別なタブで開くと、ログインの必
      要もなく直接表示されます。


      また、60秒後に expire されるようコードを変更し、firefox でクッキーの有
      無を確認すると、60秒後に正しく破棄されています。
      • こんばんは。

        調べた結果、modx でのセッションの寿命はブラウザを閉じるまでとなっていました。
        config.inc.php:37
           session_name ($site_sessionname);

        このままだと、ブラウザを閉じた後、再度ブラウザを立ち上げてページにアク
        セスしようとすると、セッション ID が新規になるため、再びログインを要求
        されるようです。

        そこで、セッション ID に寿命をもたせました。
        config.inc.php:34
           // start cms session
           if (!function_exists ('startCMSSession')) {
              function startCMSSession (){
                 global $site_sessionname;
                 session_set_cookie_params (1209600, "/", "");   .... 追加!
                 session_name ($site_sessionname);
                 session_start ();
              }
           }

        これで 2週間 ログイン状態を維持する事が出来ます。


        何か間違った事してたら、詳しい方指摘してください。
        • ん?

          上記のようにすると、サイト全体のログインで2週間の有効が利いてしまう事に
          なる。やりたい事とは違う結果になってしまいます。

          希望は「Remember me」をチェックした時のみログイン状態が継続される事だから。