Vue前后端动态权限管理对接方案

摘要:
前后端动态权限管理对接方案1.用户登录Request:{username:‘adminxx’,password:‘123456’}Response:{status:‘OK’,ok:true,comment:‘操作成功!’,value:{token:‘xxxxx’,....}}2.用户信息及按钮页面按钮权限获取Request:{token:‘xxxxx’}Response:{permission:[
前后端动态权限管理对接方案

1.用户登录
Request:
{
username: ‘adminxx’,
password: ‘123456’
}
Response:
{
status: ‘OK’,
ok: true,
comment: ‘操作成功!’,
value: {
token: ‘xxxxx’,
....
}
}
2.用户信息及按钮页面按钮权限获取
   Request:
{
token: ‘xxxxx’
}
   Response:
{
permission:[
‘/customer/account’,
‘/customer/addaccount’,
...
],
profile: {
id: ‘x’,
username:’xxx’,
name:’xxxx’,
avatar:’http://xxxxx’,
...
}
roles: [ ‘adminxxx’ ],
...
}
字段    类型    注释
permission    Array    页面按钮权限,值为对应项的path值
profile    Object    登录用户的用户信息
roles    Array    登录用户的角色列表

3.用户权限菜单列表获取
Response:
{
token: ‘xxxxx’
}
Request:
[
{
id:'1'
parentId:"2",
path: '/customer',
component:'Layout',
redirect: '/customer/account',
alwaysShow: true,
name: 'customer',
meta: {
title: '客户管理',
icon: 'lock'
},
children: [
{
id:'1'
parentId:"2",
path: '/customer/account',
component: 'views/customer/index',
name: 'account',
meta: {
title: '客户账号',
roles: [ 'admin' ]
}
}
]
}
]
说明:
这个列表前端发给后台,后台只控制每一项id,parentId及roles的值,别的字段的值及类型均原样返回
roles的值为有这个页面权限的角色的角色列表
4.权限树菜单
Response:
{
token: ‘xxxxx’
}
Request:
[
     {
          id: 1,
          label: '客户管理',
          children: [
            {
              id: 7,
              label: '账号添加'
            }, 
            {
              id: 8,
              label: '账号编辑'
            },
            {
              id: 9,
              label: '账号删除'
            }
          ]
     },
    {
          id: 2,
          label: '系统管理',
          children: [
            {
              id: 10,
              label: '账号添加'
            },
            {
              id: 3,
              label: '账号编辑'
            },
            {
              id: 4,
              label: '账号删除'
            },
            {
              id: 5,
              label: '权限设置'
            },
            {
              id: 6,
              label: '权限查看'
            }
          ]
     }
]
5.设置权限
Request:
{
ids:[id1,id2,id3]
}
Response:
{
status: ‘OK’,
ok: true,
comment: ‘操作成功!’
}
6.查看权限
     Request:
{
token: ’xxx’
}
Response:
{
status: ‘OK’,
ok: true,
comment: ‘操作成功!’,
value: {
ids:[id1,id2,id3]
}
}

免责声明:文章转载自《Vue前后端动态权限管理对接方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python3 os模块及操作文件和目录linux中给数据加上行号下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vuejs 使用 lib 库模式打包 umd 解决 NPM 包发布的问题

由于升级了 v0.2 版 GearCase 使用打包工具从 parcel 更换成 vue-cli 3.x。因此打包后发布 NPM 包的方式与之前有很大的差异,这也导致了在发布完 GearCase v0.2.2 版本之后,我自己在进行 NPM / Yarn 安装包时。根本无法通过之前文档的方式,进行引入并注册组件。后来我大概花费了两天的时间来解决这个问题。...

.net webapi后台返回pdf文件流,前端ajax请求下载,空白pdf排错经历

.net webapi后台返回pdf文件流,前端ajax请求下载,空白pdf排错经历 先上代码: 后台webapi代码: [HttpGet] [Route("{manifestId}")] public IHttpActionResult FindManifestPdfById([FromUri]string manifestId) {     byte...

axios 学习文档

什么是 axios? Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。axios Github 特性 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持...

Vue 简单实例 购物车4

1、查看代码发现选中全选是由 check 样式控制的,所以我们要添加一个变量来控制是否全选: <span :class="['checkbox-btn', 'item-check-btn', allCheck ? 'check' : '']"> <script>export default{ data() { retu...

41.配置完善爬虫代码文件及图片下载文件重命名问题-2

解决图片下载重命名保存本地,直接上代码(在原来代码做了一定的修改)。总结:主要就是添加配置一个内置的函数,对保存的东西进行修改再存储,主要问题还是再piplines的设置里面。效果如图: hm5988.py #-*- coding: utf-8 -*- importscrapy from hm5988_web.items importHm5988We...

去掉console.log,正式环境不能有console.log

方法1 vscode中全局搜console  然后替换掉就行了(空格替换调) 方法2:webpack打包时去除,适合Vue项目 在webpack.prod.conf.js里面的plugins里面加上 drop_debugger: true, drop_console: true...