小明:最近在做大学综合门户的项目,想了解登录功能怎么实现?
小李:登录功能是门户的核心之一。通常需要前后端配合完成。
小明:那具体有哪些功能呢?
小李:登录功能包括用户验证、会话管理、权限控制等。比如用户输入账号密码后,系统要校验是否正确,并生成一个会话令牌。
小明:能给我看看代码吗?
小李:当然可以。这里是一个简单的登录接口示例(用Node.js):
app.post('/login', (req, res) => {
const { username, password } = req.body;
// 假设从数据库查询用户
User.findOne({ where: { username } }).then(user => {
if (!user || !user.checkPassword(password)) {
return res.status(401).json({ error: '用户名或密码错误' });
}
// 生成JWT token
const token = jwt.sign({ id: user.id }, 'secret_key', { expiresIn: '1h' });
res.json({ token });
});
});

小明:那前端怎么处理呢?
小李:前端通常使用表单提交,将用户名和密码发送到后端。收到token后,存储在localStorage或sessionStorage中,用于后续请求的身份验证。
小明:明白了,那登录功能还有哪些扩展?
小李:比如多因素认证、记住我、第三方登录(如微信、QQ)等,都是常见的增强功能。
小明:谢谢,这对我帮助很大!
小李:不客气,记得做好安全防护,防止SQL注入和XSS攻击。
