比如有一个页面 a.html 有“导入,导出,编辑”三个按钮。 不同的人打开页面 显示不同的权限按钮,
1.不是前后台分离的 可以给这个页面一个权限对像去控制(前台页面,但用了后台代码): @if(pagePermissions.import) {导入} 。。。
2.如果前后分离的话。 那我先从接口请求到当前用户的权限,再去控制按钮显示,这样感觉不牢靠啊,一定要先请求到当前用户的按钮权限,再去控制,这样所有按钮权限都暴露了。而且有些用户没有当前页页的访问权限,还要判断不能访问.
1
overwhats 2019-03-04 17:36:47 +08:00
搞个单独接口来返回用户信息,拿到后缓存在本地。所有页面的权限都可以根据这个用户信息来配置。
其次后台肯定还是要有权限控制的,捕获到接口返回‘无权限’的错误,做相应处理就行,并且更新用户信息。 |
2
q149072205 OP @overwhats 你意思,一登录系统后,获取当前用户所有的菜单权限,然后缓存在浏览器本地?然后打个哪个页面,再从缓存里去取权限,这样会不会不安全啊。
|
3
overwhats 2019-03-08 08:57:31 +08:00
@q149072205 为啥不安全,接口的权限已经被后台卡死了(后台通过 token 判断),即使前端有人恶意造假,最多也就看到个页面骨架,数据的展现和操作都是通过 api 完成,绕不过去的。
|
4
blue0125 2019-03-18 21:24:55 +08:00 via Android
最终的掉用接口权限还是要后端有控制。前端只是做显示隐藏的控制
|