登录(记住密码)

            <div class="remember"><input class="inp-rem" type="checkbox" v-model="isRemember" />记住密码</div>
const isRemember = reactive(false);

onMounted(async () => {
  await getKey()
  // 验证码
  getCaptchaApi().then((res) => {
    urls.imgs = 'data:text/html;base64,' + res.result?.img
    form.value.codeId = res.result.id
  })
  // 院校
  schoolListApi().then((res) => {
    state.school = res.result
    // console.log("res", state.school);
  })

  console.log("isRemember",tool.cookie.get("isRemember"));
  if(tool.cookie.get("isRemember")){
    form.value.schoolCode = tool.cookie.get("schoolCode");
    form.value.studentSn = tool.cookie.get("isRemember");
    form.value.password = tool.cookie.get("password");
  }
})
//点击更换验证码
const changeImage = () => {
  console.log('更换验证码')
  getCaptchaApi().then((res) => {
    urls.imgs = 'data:text/html;base64,' + res.result?.img
    form.value.codeId = res.result.id
  })
}

//加密
const getKey = async () => {
  var res = await RSAKeyApi()
  state.publicKey = res.result
}

//点击登录
const submit = () => {
  var params = Object.assign({}, form.value)
  params.password = tool.crypto.RSA.encrypt(params.password, state.publicKey)
  if (isRemember) {
    tool.cookie.set("isRemember", isRemember);
    tool.cookie.set("schoolCode", form.value.schoolCode);
    tool.cookie.set("studentSn", form.value.studentSn);
    tool.cookie.set("password", form.value.password);
  }

  LoginApi(params).then((res) => {
    console.log('res', res)
    if (res.data.code == 200) {
      sessionStorage.setItem('username', form.value.phone)
      sessionStorage.setItem('accessToken', res.data.result.accessToken)
      sessionStorage.setItem('refreshToken', res.data.result.refreshToken)

      getUserInfoApi().then((res) => {
        if (res.code == 200) {
          sessionStorage.setItem("userInfo", JSON.stringify(res.result));

          //跳转到主页
          router.push('/home')
          ElMessageBox({
            title: '提示',
            message: '登录成功!'
          })
        }
      })
    } else {
      changeImage();
      ElMessage.error(res.data.message)
    }
  })
}
JavaWeb登录记住密码功能可以通过Cookie来实现,具体步骤如下: 1. 在登录时,判断用户是否勾选了“记住密码”选项,如果勾选了,则将用户名和密码保存到Cookie中。 2. 在登录成功后,判断是否勾选了“记住密码”选项,如果勾选了,则将用户名和密码保存到Cookie中。 3. 在用户下次登录时,先判断Cookie中是否保存了用户名和密码,如果有,则将其自动填充到登录表单中。 4. 如果用户手动退出登录,则需要删除保存在Cookie中的用户名和密码信息。 这里提供一个简单的示例代码: ```java //保存Cookie Cookie usernameCookie = new Cookie("username", username); usernameCookie.setMaxAge(7 * 24 * 60 * 60); //设置Cookie有效期为7天 response.addCookie(usernameCookie); Cookie passwordCookie = new Cookie("password", password); passwordCookie.setMaxAge(7 * 24 * 60 * 60); //设置Cookie有效期为7天 response.addCookie(passwordCookie); //读取Cookie Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if ("username".equals(cookie.getName())) { String username = cookie.getValue(); //将用户名填充到登录表单中 } if ("password".equals(cookie.getName())) { String password = cookie.getValue(); //将密码填充到登录表单中 } } } //删除Cookie Cookie usernameCookie = new Cookie("username", null); usernameCookie.setMaxAge(0); response.addCookie(usernameCookie); Cookie passwordCookie = new Cookie("password", null); passwordCookie.setMaxAge(0); response.addCookie(passwordCookie); ``` 需要注意的是,为了保障安全,保存在Cookie中的密码应该进行加密处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值