公司项目是 SpringBoot + Vue 写的,权限判断如:
在后台判断用户类型,返回值给前端,组件通过 v-if 或 v-show 判断是否显示。
这种权限判断方式会是否正确?不正确有优化方案吗?
请教,谢谢!
![]() | 1 tatu 2019-10-18 11:32:11 +08:00 v-show 是肯定不行的,只是 display:none 罢了。 |
2 xcloud 2019-10-18 13:05:58 +08:00 只要前端没有敏感信息就行,后端严格判断请求权限。 |
![]() | 3 wangyzj 2019-10-18 13:15:25 +08:00 v-if |
4 lazyfighter 2019-10-18 15:45:17 +08:00 没啥问题,后端接口做好权限校验就好,前端只负责显示 |
![]() | 5 markzyh 2019-10-18 15:53:05 +08:00 路由控制 |
6 DevinL 2019-10-18 16:34:31 +08:00 最好是后台判断用户类型,并且返回可以请求的权限 |
7 star7th 2019-10-18 16:53:51 +08:00 思上要分清楚前端和后端在权限这个问题上的差异。 后端要严格判断用户类型,判断权限,只返回应有的数据。 前端严格来讲是没有权限之分的。只是根据不同用户来显示或者不展示某些页面。v-if 或 v-show 都可以。前端做什么限制都没有安全性可言,因为可以被他人修改(比如浏览器审查元素)。它的作用只是正确地展示给正常用户。真正安全还是靠后端校验,不合法的数据,一开始就不返回 |
![]() | 8 xuanbg 2019-10-18 17:04:07 +08:00 前端根据权限显示元素属于交互的优化而非权限的控制,权限控制只能后端实现。 |
![]() | 9 LeroyMooney OP |
![]() | 10 musi 2019-10-18 20:42:01 +08:00 前端你权限控制的再严也没啥用,还得后端 |
11 yamamotoahua 2019-10-19 02:04:53 +08:00 前端能做的也只有 dom 的显示&隐藏,增加&删除了。这种事情用浏览器控制台也可以做到,所以权限还是要靠后端处理。前端负责正确展示后端的数据就好了 |