Javascript实现登录记住用户名和密码功能
概述
在前端开发中,登录功能是一个非常常见的功能,其中记住用户名和密码功能是其重要的扩展功能。该功能允许用户勾选记住用户名和密码,即可在下次登录时自动填充上次保存的用户名和密码。
实现过程
1. 前端部分
在登录页面中添加“记住用户名和密码”的checkbox,并在其选中时通过cookie来保存用户名和密码。代码如下:
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form>
<div>
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
</div>
<div>
<label for="password">密码:</label>
<input type="password" id="password" name="password">
</div>
<div>
<input type="checkbox" id="remember" name="remember">
<label for="remember">记住用户名和密码</label>
</div>
<div>
<button type="submit" onclick="submitForm()">登录</button>
</div>
</form>
</body>
</html>
在上述代码中,当checkbox被选中时,调用函数setCookie()保存用户名和密码,如下所示:
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function submitForm() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var remember = document.getElementById("remember").checked;
if (remember) {
setCookie("username", username, 365);
setCookie("password", password, 365);
} else {
setCookie("username", "", -1);
setCookie("password", "", -1);
}
// 提交表单
// ...
}
在上述代码中,通过设置cookie的过期时间来实现记住用户名和密码的功能。同时在submitForm()函数中也可以处理表单的提交操作。
2. 后端部分
在后端中,通过判断是否有保存用户名和密码的cookie来自动填充上次保存的用户名和密码。网站后端可以通过session、cookie或localStorage等方式完成保存账号信息的任务。以下是一个基本的示例:
router.post('/login', function(req, res) {
var username = req.body.username;
var password = req.body.password;
var remember = req.body.remember;
if (remember) {
req.session.remember = true;
res.cookie("username", username, { maxAge: 365 * 24 * 60 * 60 * 1000 });
res.cookie("password", password, { maxAge: 365 * 24 * 60 * 60 * 1000 });
} else {
req.session.remember = false;
res.cookie("username", "", { maxAge: -1 });
res.cookie("password", "", { maxAge: -1 });
}
// ...
});
在上述代码中,在保存用户名和密码cookie的同时需要使用session验证用户合法性。
总结
本文主要介绍了如何通过前端的checkbox和cookie来实现用户登录记住用户名和密码的功能,以及如何在后端中处理保存账号信息的请求。需要注意的是,在保存用户登录信息时,需要注意信息的安全性和验证性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript实现登录记住用户名和密码功能 - Python技术站