Home > Web Front-end > JS Tutorial > How to remember passwords on cookies in vue

How to remember passwords on cookies in vue

亚连
Release: 2018-06-08 16:38:00
Original
2000 people have browsed it

This article mainly introduces the vue project to implement the remember password to cookie function example (source code attached), which has certain reference value. Interested friends can refer to it

This article introduces the vue project An example of realizing the function of remembering passwords to cookies is shared with everyone. The details are as follows:

Login page

Implementation function:

1. Check Remember Password, and when you click login, the account and password will be saved in cookies, and they will be automatically displayed in the form next time you log in.
2. Uncheck, and when you click login, the previously saved cookies will be cleared. Value, you need to manually enter

next time you log in. The general idea is to save/retrieve/delete cookies; every time you enter the login page, read the cookie first. If there is account information in the browser cookie, It will automatically fill in the login box. The cookie is saved after the login is successful. It is judged whether the current user has checked the Remember Password option. If so, the account information is saved in the cookie. The rendering is as shown above:

Go directly to the main code

HTML part

<p class="ms-login">
    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="0px" class="demo-ruleForm">
      <el-form-item prop="username">
        <el-input v-model="ruleForm.username" placeholder="用户名"></el-input>
      </el-form-item>
      <el-form-item prop="password">
        <el-input type="password" placeholder="密码" v-model="ruleForm.password" @keyup.enter.native="submitForm(&#39;ruleForm&#39;)"></el-input>
      </el-form-item>
      <!-- `checked` 为 true 或 false -->
      <el-checkbox v-model="checked">记住密码</el-checkbox>
      <br>
      <br>
      <p class="login-btn">
        <el-button type="primary" @click="submitForm(&#39;ruleForm&#39;)">登录</el-button>
      </p>
    </el-form>
  </p>
Copy after login

JS part

  //页面加载调用获取cookie值
  mounted() {
    this.getCookie();
  },
  methods: {
    submitForm(formName) {
             const self = this;
            //判断复选框是否被勾选 勾选则调用配置cookie方法
            if (self.checked == true) {
              console.log("checked == true");
              //传入账号名,密码,和保存天数3个参数
              self.setCookie(self.ruleForm.username, self.ruleForm.password, 7);
            }else {
             console.log("清空Cookie");
             //清空Cookie
             self.clearCookie();
            }
            
            //与后端请求代码,本功能不需要与后台交互所以省略
            
            console.log("登陆成功");
         
        });
      },
      //设置cookie
      setCookie(c_name, c_pwd, exdays) {
        var exdate = new Date(); //获取时间
        exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); //保存的天数
        //字符串拼接cookie
        window.document.cookie = "userName" + "=" + c_name + ";path=/;expires=" + exdate.toGMTString();
        window.document.cookie = "userPwd" + "=" + c_pwd + ";path=/;expires=" + exdate.toGMTString();
      },
      //读取cookie
      getCookie: function() {
        if (document.cookie.length > 0) {
          var arr = document.cookie.split(&#39;; &#39;); //这里显示的格式需要切割一下自己可输出看下
          for (var i = 0; i < arr.length; i++) {
            var arr2 = arr[i].split(&#39;=&#39;); //再次切割
            //判断查找相对应的值
            if (arr2[0] == &#39;userName&#39;) {
              this.ruleForm.username = arr2[1]; //保存到保存数据的地方
            } else if (arr2[0] == &#39;userPwd&#39;) {
              this.ruleForm.password = arr2[1];
            }
          }
        }
      },
      //清除cookie
      clearCookie: function() {
        this.setCookie("", "", -1); //修改2值都为空,天数为负1天就好了
      }
Copy after login

The cookie information in the browser is as shown below, pay attention to the cookies here expire/Max-Age expiration time, this time is Greenwich Mean Time (GMT), the world's unified time, GMT 8 hours is Beijing time. (There is no encryption function here)

Source code link vue project implements the form login page to save the account and password to the cookie function

The above is what I compiled for everyone , I hope it will be helpful to everyone in the future.

Related articles:

Using icon icons through Element in Vue

Using bcryptjs password encryption in Express

Encapsulated cache class implemented through redis as cache in nodejs

The above is the detailed content of How to remember passwords on cookies in vue. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
vue
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template