前后端分离的项目,如何前端界面如何实现权限控制?
以前 php 和 html 混合的代码,可以通过 php 权限控制函数来实现,但是前后端分离后,前端只通过 api 接口来获取数据,想来想去,每个页面几个功能,每个都调用一次 api 来确认一下是否有权限,服务器会不会扛不住?大家现在是怎样的思路?
以前 php 和 html 混合的代码,可以通过 php 权限控制函数来实现,但是前后端分离后,前端只通过 api 接口来获取数据,想来想去,每个页面几个功能,每个都调用一次 api 来确认一下是否有权限,服务器会不会扛不住?大家现在是怎样的思路?
比如 一个菜单按钮! 某类用户不允许看到! 即使你前端控制了不让看!
用户还是可以用其他方法去展示出来进行点击的!
但是点击后! 会请求到服务端! 服务端肯定要校验权限的!
简而言之! 前端做好权限相关的展示(比如菜单是否展示, 删除按钮是否可点等等 )就行了! 实际的操作(增删改查) 还是得服务端来校验
甚至包含页面布局配置
。。。
。。。。
。。。。。。
然后你做着做着,就发现返回的页面配置 json 高度可定制
甚至直接返回了渲染好的页面!
full-circle.
后端表里面是各种权限对应关系(用户-角色-功能-api ),根据 user 查询对应关系,没的话就没有权限~
前端调接口判断是否隐藏页面
前段控制不显示
后端控制不可调用
再就看你粒度做到多细了.
页面级,前端路由都有相应的钩子,用进入页面前的钩子检查.
按钮级,vuex 或者 redux 全局存储用户权限,然后搞一个高阶组件包装需要鉴权的按钮.
当然,最要紧的还是后端,每个接口都通过 jwt 或者 cookie 鉴权即可.