位置: IT常识 - 正文

功能:Session与Vue:登录获取权限,并完成session存储(session和viewstate)

编辑:rootadmin
功能:Session与Vue:登录获取权限,并完成session存储 一、需求说明

推荐整理分享功能:Session与Vue:登录获取权限,并完成session存储(session和viewstate),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:session会话的作用,session会话的作用,session和viewstate,session的用处,session的优势,session会话的作用,session的作用域,session的功能,内容如对您有帮助,希望把文章链接给更多的朋友!

功能:Session与Vue:登录获取权限,并完成session存储(session和viewstate)

1、系统登录,每个账号表示一位用户,每位用户分配有不同的权限,不同的权限有着不同的操作。 2、现需要每位用户登录时都能获取到对应的权限,在登录系统中进行使用,退出时则清空权限。 3、项目框架:pc端,vue前端框架。

二、功能实现1、登录:获取当前用户所有权限并存储于session库中// login.vue/js/** * 获取当前用户所有权限数组 - 可以放在【登录】按钮点击事件里面 */getPermission() { returnnew Promise((resolve, reject) => { queryPermission().then((res) => { // 请求后端接口 - 获取权限数据并存储于session库中 const permissions = res.data sessionStorage.setItem('authorities', JSON.stringify(permissions || '[]')) // 存储到session中 resolve(res) }).catch(error => reject(error)) })}

2、公共方法:判断是否有权限// auth.js/** * 是否有权限 * @param {String} key - 权限字符串 */export function isAuth (key) { let authorities = JSON.parse(sessionStorage.getItem('authorities') || '[]') if (authorities.length) { for (const i in authorities) { const element = authorities[i] if (element === key) { return true } } } return false}3、isAuth()公共方法挂载到vue原型上// main.js// 引入isAuth()方法import { isAuth } from '@/common/utils/auth'// 挂载到vue原型链上// 作用:可以将isAuth()作为vue的一个内定方法使用,不用每个单页面都引入该方法Vue.prototype.isAuth = isAuth4、vue单页面使用权限进行判断对应操作// xxx.vue// 使用isAuth()方法,判断是否有此权限,有则展示该按钮// 作用:实现了不同权限拥有不同操作的需求<el-button type="primary" size="mini" v-if="isAuth('coupon:report:enable')" @click="enableOrDisableHandle(1)">设为有效</el-button>5、当前用户退出时,清空session权限// login.vue/js/** * 退出系统 - 清空权限session */logOut() { return new Promise((resolve, reject) => { logout().then(() => { // 请求退出系统接口 sessionStorage.setItem('authorities', JSON.stringify('[]')) // 清空权限session resolve() }).catch(error => { sessionStorage.setItem('authorities', JSON.stringify('[]')) reject(error) }) })},三、遗留问题

1、疑问:当当前登陆人权限更改时,没办法及时更新权限,需退出登录后,再进行获取权限并存储session的操作。 2、设想:在系统进行权限分配时,再进行一次权限请求并更新存储session中。 3、限制:权限分配在其他系统分配,故做不到系统权限分配时更新session。

《功能:Session与Vue:登录获取权限,并完成session存储》有问题的话,或者有更优解,请各位大佬指出来哇哇哇~~~

本文链接地址:https://www.jiuchutong.com/zhishi/295326.html 转载请保留说明!

上一篇:叶面积指数(LAI)介绍以及遥感估算方法(叶面积指数名词解释)

下一篇:Python雪花代码(python雪花算法生成id)

  • 淘宝怎么找小二介入(淘宝怎么找小二人工客服)

  • 怎么通过qq号找到微信(怎么通过qq号找到王者荣耀号)

  • 小米10至尊纪念版采用是什么散热技术(小米10至尊纪念版和小米10s哪个好)

  • 荣耀20与华为p10的区别(荣耀20与华为p20pro哪个好)

  • 国行演示机什么意思(演示机是真机吗)

  • 剪映如何读出字幕(剪映中如何读出文字)

  • 苹果停留控制怎么用(iphone停留控制是干嘛的)

  • 微信群里抢红包被限制(微信群里抢红包会泄露个人信息吗)

  • 微信来电不显示怎么办(微信来电不显示怎么回事)

  • 现在注销手机号可以网上注销吗?(现在注销手机号,要收费了吗)

  • 华为nova6自带钢化膜吗(华为nova6出厂有没有钢化膜)

  • 相机发明在哪一年(相机发明者)

  • 抖音申请电脑直播权限多久(抖音申请电脑直播权限需要审核多久)

  • 苹果接力要不要关掉

  • qq别人发的视频只能看一次(QQ别人发的视频会有病毒吗)

  • 探探要钱才可以聊天吗(探探要钱才能聊天吗)

  • ios不支持此配件(ios不支持配件是什么意思)

  • 加湿器算大功率电器吗(加湿器额定功率大好还是小好)

  • 怎么改闲鱼会员名(闲鱼网怎么改会员名)

  • 电话右上角出现HD怎么回事(电话右上角出现hd是什么意思)

  • 如何用优酷录视频(优酷如何录视频)

  • vivonex3支持红外遥控吗(vivonex3s红外线在哪)

  • 快手怎么开自己的公会(快手怎么开自己点赞的视频)

  • word样本模板在哪里(word2019样本模板在哪)

  • 红米note8支持屏幕指纹吗(redmi note8屏幕怎么样)

  • qqlive异地登录啥意思(qq频道异地登录)

  • 三星td一lte什么型号(td_lte三星什么型号)

  • 华为p30pro怎么关闭后台(华为p30pro怎么关闭步数显示)

  • 微信如何注册商家(微信如何注册商店)

  • word字体居中(word字体居中怎么调整)

  • opporeno什么意思(opporeno是什么意思中文翻译)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络