Vue ログインページでクッキーを使用してパスワードを 7 日間記憶する方法

Vue ログインページでクッキーを使用してパスワードを 7 日間記憶する方法

問題の説明

プロジェクトのログインページでは、7日間パスワードを記憶する必要がある機能があります。この記事では、主にCookieを使用した書き込み方法を記録しています。私が書いたコメントは非常に詳細です。私が書いたコメントの手順は非常に詳細であるため、ぜひご覧ください。実証された有効性

HTML部分

コード図

効果図

コードを貼り付ける

      <el-フォーム
       ref="フォーム"
       :model="フォーム"
       ラベル幅="80px"
       ラベル位置="上"
       @submit.native.prevent
      >
       <el-form-item label="ユーザー名/アカウント">
        <div class="userError">
         <el-入力
          サイズ="ミニ"
          v-model.trim="フォーム.ユーザー名"
          クリア可能
         </el-input> ...
        </div>
       </el-form-item>
       <el-form-item label="パスワード">
        <div class="pwdError">
         <el-入力
          サイズ="ミニ"
          v-model.trim="フォーム.ログインパスワード"
          クリア可能
          パスワードを表示
         </el-input> ...
        </div>
       </el-form-item>
       <el-checkbox label="アカウントを記憶する" v-model="isRemember"></el-checkbox>
       <el-button native-type="submit" size="mini" @click="ログインページ"
        >ログイン</el-button
       >
      </el-form>

js部分

エクスポートデフォルト{
 名前: "ログイン",
 データ() {
  戻る {
   形状: {
    ユーザー名: ''、
    ログインパスワード: ''、
   },
   isRemember: false、
  };
 },
 マウント() {
  // ステップ 1、ページが読み込まれたら、まず Cookie にユーザー名とパスワードがあるかどうかを確認します。これは this.getCookie(); で使用できます。
 },
 メソッド: {
  /* ステップ 3、ユーザーがログインするときに、まずユーザー名とパスワードが正しいかどうかを確認します。正しくない場合は、ログイン エラーを表示します。正しい場合は、ユーザーがパスワードを記憶するチェックをしたかどうかを確認します。そうでない場合は、時間内に Cookie をクリアして初期状態に戻ります。チェックした場合は、ユーザー名とパスワードを Cookie に保存し、7 日間の使用有効期間を設定します (もちろん、更新前の Cookie 時間でもかまいません)
  */
  非同期ログインページ() {
   // ユーザーが入力したユーザー名とパスワードが正しいかどうかを確認するためのリクエストを送信します。const res = await this.$api.loginByUserName(this.form)
   res.isSuccess == falseの場合{
    this.$message.error("ログインエラー")
   }
   それ以外{
    const self = this;
    // ステップ 4、チェックボックスがオンになっている場合は、set cookie メソッドを呼び出して、現在のユーザー名、パスワード、有効期限を cookie に保存します。if (self.isRemember === true) {
     // アカウント名、パスワード、保存日数 (有効期限) を 3 つのパラメータとして渡します // 1/24/60 テストは 1 分間テストできます。これはより明白です self.setCookie(this.form.userName, this.form.loginPwd, 1/24/60);
     // self.setCookie(this.form.userName, this.form.loginPwd, 7); // 7日後に有効期限が切れます} 
    // チェックされていない場合は、この Cookie が期限切れでない最後の Cookie である可能性があるため、時間内に Cookie をクリアする必要があります。そうでない場合は {
     自己Cookieをクリアします。
    }
    // もちろん、ユーザーがクッキーをチェックしたかどうかに関係なく、ルートはリダイレクトされます this.$router.push({
     名前: "プロジェクト",
    });
   }
  },
  // クッキーを設定する
  setCookie(ユーザー名、パスワード、exdays) {
   var exdate = new Date(); // 現在のログイン時刻を取得しますexdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); // 現在のログイン時刻に 7 日を追加して、保存する日数である Cookie の有効期限を取得します。 // Cookie は name=value の形式で保存されるため、文字列連結 Cookiewindow.document.cookie = "userName" + "=" + username + ";path=/;expires=" + exdate.toGMTString();
   window.document.cookie = "userPwd" + "=" + パスワード + ";path=/;expires=" + exdate.toGMTString();
   window.document.cookie = "isRemember" + "=" + this.isRemember + ";path=/;expires=" + exdate.toGMTString();
  },
  // ステップ 2、クッキーにユーザー名とパスワードがある場合は、2 回切り取られてフォームに保存され、使用されます。そうでない場合は、getCookie: function () {
   ドキュメントのCookieの長さが0より大きい場合
    var arr = document.cookie.split("; "); //配列なので切り取る必要があります。これを印刷するとわかります // console.log(arr,"cut");
    (var i = 0; i < arr.length; i++) の場合 {
     var arr2 = arr[i].split("="); // 再度分割 // console.log(arr2,"Split 2");
     // // 対応する値をチェックする if (arr2[0] === "userName") {
      this.form.userName = arr2[1]; // ユーザー名とパスワードのコピーを保存します} else if (arr2[0] === "userPwd") {
      this.form.loginPwd = arr2[1]; // 復号可能} else if (arr2[0] === "isRemember") {
      this.isRemember = ブール値(arr2[1]);
     }
    }
   }
  },
  // クッキーを消去する
  clearCookie: fu![画像](/img/bVcOHhz)
   this.setCookie("", "", -1); // クリアして日数をマイナス1日に設定する},
 },
};

クッキー保存図

要約する

実は、これは非常に簡単です。クッキーの有効期限、つまり有効期限が切れる日付を設定するだけです。もちろん、途中でいくつかのフォーマット処理とデータ処理が必要になります。

また、クッキーはブラウザ内に存在し、ブラウザはコンピュータ内のCドライブなどにインストールされているため、クッキーはCドライブ内のフォルダに保存されます。そのフォルダにはクッキーだけでなく、localStorage、sessionStorageなどが含まれています。具体的なフォルダは自分で探すことができます。実際のところ、いわゆるローカル ストレージは、自分のコンピューター上に存在します。

これで、vue ログインページで Cookie を使用して 7 日間パスワードを記憶する方法についての記事は終了です。vue ログインページで Cookie を使用してパスワードを記憶する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • PHP クッキーの動作原理と例の説明
  • Cookieを操作するPython Seleniumインスタンスメソッド
  • Python クローラーはリクエスト ライブラリを使用して Cookie を処理します
  • Cookie 認証を使用した ASP.NET Core サンプル コード
  • クッキーの動作原理と応用の詳細な説明

<<:  Ubuntu 16.04.4LTS に mininet をインストールする際に発生する問題と解決策

>>:  MySQLテーブル名の大文字と小文字を区別しない設定方法の詳細な説明

推薦する

MySQL トランザクションの概念と使用法の詳細な説明

目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...

htmlはハイパーリンク付きの新しいウィンドウを開き、ウィンドウのプロパティを制御できます。

1. HTMLハイパーリンクによって開かれるウィンドウのサイズコードをコピーコードは次のとおりです...

Bash スクリプトを使用して Linux のメモリ使用量を監視する方法

序文Linux システムのパフォーマンスを監視するために使用できるオープンソースの監視ツールが市場に...

MySQL バックアップ スクリプトの書き方

序文:データベースのバックアップの重要性は、特にデータの損失が深刻な結果を招く可能性がある実稼働環境...

iframeリフレッシュ方式の方が便利

iframeを更新する方法1. 更新するには、JavaScriptのdocument.fr.loca...

HTML タイトルに二重引用符を追加する方法

<a href="https://www.jb51.net/" title...

OracleデータをMySQLデータベースに抽出する実装プロセス

Oracle データベースから MySQL データベースへの移行では、Oracle データベース モ...

Linux 環境の Apache で https サービスを有効にする方法の詳細な説明

この記事では、Linux 環境の Apache で https サービスを有効にする方法について説明...

Vue で Google サードパーティ ログインを実装するためのサンプル コード

目次1. 開発者プラットフォームの構成問題を解決する1. 開発者プラットフォームの構成1. 開発者プ...

JSブラウザストレージの詳しい説明

目次導入クッキークッキーとはクッキー生成方法クッキーの適用シナリオクッキーのデメリット回避策ローカル...

CSS の複雑なセレクターと CSS のフォントスタイルと色属性の詳細な説明

これまでに CSS の基本的なセレクターをいくつか学習しましたが、今日は CSS の複雑なセレクター...

ウェブサイトのビジュアルデザインパスはユーザーの習慣に合わせる必要がある

クーパー氏は、一般的に上から下、左から右に向かうユーザーの視覚経路について話しました。優れたビジュア...

Vue 大画面データ表示例

効率的に要件を満たし、コンポーネント ライブラリの肥大化や車輪の再発明を避けるために、私は以前、大画...

Webstorm と Chrome を使用して Vue プロジェクトをデバッグする方法

目次序文1. 新しいVueプロジェクトを作成する2. WebStormの設定1. デバッガポートを設...