一:场景问题
在我们的页面设计中,我们使用了Spring security5在页面上空到具体的按钮显示权限,如图所示:
但是很尴尬的是在Js中是无法获取到的,但是Js进行其它的按钮控制比如以下:
然后,看了几个网上比较好的解决方案--是基于Thymeelaf的请求服务去后端获取这个权限(当然我一开始也是如此)。如图:
这种方法在功能数据小还好,一旦数据大,系统规模大,请求堵塞就好糟糕了。
二:解决方案
突然,我就想到了Js的全局变量(好吧,严格意思上讲Js是不存在全局变量这个词的)。那如何解决呢?
首先,需要一个全局引用的页面,我项目里把所有的js,css抽离出来,然后页面引用。
其次,在用户登录成功的时候就将权限引进来
最后,一旦修改这些值,只要刷新真个浏览器就ok了。如图:
然后,在其他页面引用就可以啦。