Vue+Express实现登录状态权限验证的示例代码(2)

actions:{ async checkMe({commit}){ //请求/me接口,对登录信息进行判断,并保留状态 const result = await Vue.prototype.$http.get('/me').then(data=>data.data); //返回值为false,跳转至login if(!result){ router.push({name:'login'}) return } commit('changeLogin',{result}) } }

3.后端的检测登录接口接收到请求,进行判断

//验证是否登录 app.get('/me', function (req, res) { //判断session是否为true if(req.session.login){ res.send(true) }else{ res.send(false) } })

如果返回结果为true,登录状态,就可以进行页面跳转了.

六丶登录

1.登录页Login.vue - 请求登录接口,登录成功后将信息保存到store

<template> <div> <h1>登录</h1> <Button @click="login">登录</Button> <route_list></route_list> </div> </template> <script> import route_list from '../components/route_list' export default { components:{ route_list }, methods:{ async login(){ //请求登录接口 const result = await this.$http.get("/login").then(data=>data.data); //记录登录状态 this.$store.commit('me/changeLogin',{result}) } }, } </script>

2.后端登录接口接收到请求,生成session

//登录接口,更改session状态 app.get('/login', function (req, res) { req.session.login = true, res.send(true) })

现在就是登录状态了

七丶注销

1.登录页Logout.vue - 请求注销接口,注销成功后将信息保存到store

<template> <div> <h1>注销</h1> <Button @click="login">注销</Button> <route_list></route_list> </div> </template> <script> import route_list from '../components/route_list' export default { components:{ route_list }, data(){ return{ } }, methods:{ async login(){ const result = await this.$http.get("/logout").then(data=>data.data); this.$store.commit('me/changeLogin',{result}) } }, } </script>

2.后端注销接口接收到请求,更改session状态

//登录接口,更改session状态 app.get('/login', function (req, res) { req.session.login = false, res.send(false) })

现在就是注销状态了

完成展示(gif,可能加载不出来):

Vue+Express实现登录状态权限验证的示例代码

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/0b69df7e086ebbc039f816c489e7fb72.html