用的react,我的想法是在后台用户库里面加上admin:true,然后前台先验证登陆用户是否为admin,如果是就条件渲染出admin要使用的东西,感觉缺陷很大阿,求各位大大给小弟说一下,权限管理是怎样设计的阿
看了大大们的答案我有想法了,在react设一个全局变量显示权限操作,给后台传数据时,后台先验证当前操作用户是否有amdin权限~
用的react,我的想法是在后台用户库里面加上admin:true,然后前台先验证登陆用户是否为admin,如果是就条件渲染出admin要使用的东西,感觉缺陷很大阿,求各位大大给小弟说一下,权限管理是怎样设计的阿
看了大大们的答案我有想法了,在react设一个全局变量显示权限操作,给后台传数据时,后台先验证当前操作用户是否有amdin权限~
前端要做的是,不让正常操作的用户发出不具有权限的api. 后端要做的是, 在接到权限用户不匹配的请求不做数据操作并返回某些格式的数据(来使前端判断并提示).
那么前端关于权限的事情只有2件:
因为感觉你碰到的问题是第一类别, 在用户登录以后储存一份用户的权限数据(这份数据可以自己判断也可以向后端请求).类似: {admin: true}
. 或者{lookup: true, operate: false}
. 或者是具有哪些权限: ['lookup', 'operate', 'create', 'delete', 'modify']
. 然后在涉及到权限的界面根据这份数据进行判断, 或是发涉及权限的请求前对这份数据进行判断.
1.如果是admin的话,前台直接判断控制,允许其拥有所有路由和操作权限,不需要通过后台
2.如果不是admin,需要前台和后台配合,前台拥有一个权限分配的页面(这个页面可以是admin操作的),后台收集值之后,前台其他用户登录的时候,可以获取其相关的权限
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
权限无论什么时候,都应该交给后台来控制,前端最多就是按需展示,用户到底有没有权限,应该是后台进行判断的。永远不要相信前端传的数据,前端不是一个安全的环境。