当前位置: 首页 > news >正文

站长网站的优势深圳网页设计公司建设

站长网站的优势,深圳网页设计公司建设,网站制作公司官网南京,微信朋友圈产品推广语Vue 用户登录的基本流程包括以下6个步骤&#xff1a; 步骤&#xff1a; 1. 创建登录表单 在前端&#xff0c;首先要创建一个登录表单&#xff0c;用户输入账号&#xff08;用户名、邮箱、手机号等&#xff09;和密码。 示例&#xff1a;Login.vue <template><div…

Vue 用户登录的基本流程包括以下6个步骤:

步骤:

1. 创建登录表单

在前端,首先要创建一个登录表单,用户输入账号(用户名、邮箱、手机号等)和密码。

示例:Login.vue

<template><div><form @submit.prevent="handleLogin"><div><label for="username">用户名</label><input type="text" id="username" v-model="username" placeholder="请输入用户名" /></div><div><label for="password">密码</label><input type="password" id="password" v-model="password" placeholder="请输入密码" /></div><button type="submit">登录</button></form></div>
</template><script>
export default {data() {return {username: '',password: ''};},methods: {handleLogin() {const userData = {username: this.username,password: this.password};this.$axios.post('/api/user/login', userData).then(response => {if (response.data.status === 'success') {// 登录成功,保存 token 到 localStorage 或 sessionStoragelocalStorage.setItem('authToken', response.data.token);this.$router.push('/admin');  // 跳转到管理页面} else {this.$message.error(response.data.message);  // 显示错误信息}}).catch(error => {this.$message.error('登录失败,请重试');});}}
};
</script>

2. 发送登录请求到后端

handleLogin 方法中,使用 axios 发送 POST 请求到后端 API /api/user/login,并携带用户输入的用户名和密码。

示例:后端登录接口(Node.js + Express)

app.post('/api/user/login', (req, res) => {const { username, password } = req.body;// 查找用户let query = '';let params = [];// 判断用户名是邮箱、电话还是普通用户名if (emailRegex.test(username)) {query = 'SELECT * FROM users WHERE email = ?';params = [username];} else if (phoneRegex.test(username)) {query = 'SELECT * FROM users WHERE phone = ?';params = [username];} else {query = 'SELECT * FROM users WHERE username = ?';params = [username];}db.query(query, params, (err, results) => {if (err) {return res.status(500).json({ message: '数据库错误' });}if (results.length === 0) {return res.status(404).json({ message: '用户不存在' });}const user = results[0];// 验证密码bcrypt.compare(password, user.password, (err, isMatch) => {if (err || !isMatch) {return res.status(401).json({ message: '密码错误' });}// 创建 JWT tokenconst token = jwt.sign({ id: user.id, username: user.username }, secretKey, { expiresIn: '1h' });res.status(200).json({status: 'success',message: '登录成功',token: token  // 将 token 返回给前端});});});
});

3. 保存 Token

在用户登录成功后,后端会返回一个 JWT(JSON Web Token)。前端接收到这个 token 后,需要将它存储到浏览器的 localStoragesessionStorage 中,以便后续的请求使用。

localStorage.setItem('authToken', response.data.token);

4. 进行路由保护

登录后,前端应该根据 token 来判断用户是否已认证。在每个需要认证的路由(例如管理页面)中,使用路由守卫进行验证。

示例:路由守卫

const router = new VueRouter({routes: [{path: '/admin',component: AdminPage,beforeEnter: (to, from, next) => {const token = localStorage.getItem('authToken');if (token) {next();  // 已登录,继续访问} else {next('/login');  // 未登录,重定向到登录页}}},{path: '/login',component: LoginPage}]
});

5. 发起受保护请求

在后续的 API 请求中,前端会把保存的 token 附加到请求头部,发送给后端验证。

示例:发起受保护的 API 请求

this.$axios.get('/api/protected/resource', {headers: {Authorization: `Bearer ${localStorage.getItem('authToken')}`}
}).then(response => {console.log('Protected data:', response.data);}).catch(error => {console.error('Error:', error.response);});

6. 登出功能

用户登出时,前端需要删除存储的 token,并跳转到登录页面。

示例:登出功能

logout() {localStorage.removeItem('authToken');  // 删除 tokenthis.$router.push('/login');  // 跳转到登录页面
}

总结流程:

  1. 用户在登录页输入用户名和密码。
  2. 前端发送 POST 请求到后端,携带用户名和密码。
  3. 后端验证用户信息,生成并返回 JWT Token。
  4. 前端保存 token,并跳转到受保护页面。
  5. 在后续的 API 请求中,前端将 token 附加在请求头部。
  6. 用户登出时,删除 token 并跳转到登录页面。
http://www.yayakq.cn/news/221300/

相关文章:

  • 郑州正岩建设集团网站wordpress的开发框架
  • 网站改版方案流程手机自己制作文字配图
  • 网站建设续费合同个人证书查询网入口免费
  • 博物馆网站微信公众号建设方案做网站推广话术
  • 深圳移动网站建设公司排名餐饮系统的网站应该怎么做
  • 团购网站模板免费下载动易初级中学网站模板cms 6.8
  • 做阿里巴巴英文网站HTML可以做彩票网站吗
  • 广州做和改版网站的公司网页链接制作生成
  • 蓝色系列的网站西安景观设计公司排行
  • 畜牧网站建设大学交作业wordpress
  • 合肥快速建站在线咨询美食网站开发与设计报告
  • wordpress站内查找单页网站 产品放哪
  • 做刷单的网站如何在网上推广农产品
  • 网站建设的必要性分析国内现货正规交易平台
  • 做外贸怎么能上国外网站上海 网络推广
  • 外包做网站赚钱么wordpress上传上限
  • 茶网站开发的意义目的北京影视宣传片拍摄公司
  • 北京做招聘网站的公司凡科建站怎么保存网站
  • 河南工程建设 协会网站wordpress 单页面 外贸
  • 关于网站建设的建议征集最新军事视频播放
  • 国内做的比较好的二手网站何为门户网站
  • 华强北商城官网入口搜索引擎优化的方法
  • aspcms 网站地图wordpress 新浪微博关注
  • 网站访问量查询山东青岛最新消息
  • 局域网如何建网站广州网络推广外包
  • 东莞做网站建设天眼查河南建设网站公司
  • 机关网站建设和运行情况汇报如何自己免费制作网站
  • 知名企业门户网站建设网络营销推广方法和工具有哪些?
  • 免费企业网站建设郑州整站网站优化
  • 网站建设推广费会计分录亿码酷网站建设