玩转Vben Admin第2改:配置权限模式
Vben设计了2种权限模式,分别是【前端角色权限(ROLE)】和【后端动态获取(BACK)】
详细说明请参考https://doc.vvbin.cn/guide/auth.html
为了打造【轻前端重后端】我们希望后端可以操纵这个权限模式,而无需通过重新编译【前端代码】的方式实现模式切换
第一步:打开 \src\utils\http\axios\index.ts 文件,添加import代码
1 | import { useAppStore } from '/@/store/modules/app' ; |
然后在169行附近找到下面“响应拦截器处理”参考修改代码
/** * @description: 响应拦截器处理 */ responseInterceptors: (res: AxiosResponse<any>) => { if (res.data.hasOwnProperty('setProjectConfig')) { const appStore = useAppStore(); appStore.setProjectConfig(res.data.setProjectConfig); } return res; },
第二步:修改后端代码,参考下面代码
router.get(`${sPathRoot}/getUserInfo`, async (ctx, next) => { ctx.body.code = 0; ctx.body.type = 'success'; ctx.body.message = 'ok'; ctx.body.setProjectConfig = {}; ctx.body.setProjectConfig['permissionMode'] = 'ROUTE_MAPPING'; ctx.body.setProjectConfig['permissionMode'] = 'ROLE'; ctx.body.setProjectConfig['permissionMode'] = 'BACK'; ctx.body.result = { "userId": "1", "username": "vben", "realName": "Vben Admin", "avatar": "https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640", "desc": "manager", "password": "123456", "token": "fakeToken1", "homePath": "/dashboard/analysis", "roles": [ { "roleName": "Super Admin", "value": "super" } ] }; });
完成
本文来自博客园,作者:项希盛,转载请注明原文链接:https://www.cnblogs.com/xiangxisheng/p/17044802.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-01-11 使用PHP7来批量更新MangoDB数据