前后端分离jquery怎么控制页面权限

目前做前后端分离的一个学习项目,用的jquery,因为不像vue那些有路由概念,所以页面权限控制该怎么做啊。用同步方式的ajax请求后端是否有权限来判断总感觉怪怪的

阅读 7.6k
3 个回答

首先你所有的后台接口都需要有权限判断,因为前端再怎么做权限判断都是不安全的,因为前端只是根据后台返回来的权限判断某些div某些页面显示与否,稍微某些懂代码的随便改改就能破了你的权限控制。
后台工作

  1. 所有的后台接口都需要根据用户角色做权限判断

前端工作

  1. 前端权限保存
  2. 写一个全局路由跳转函数作为钩子,每个页面跳转需要经过这个函数
  3. 为防止用户地址栏输入url,每个需要权限的HTML页面head标签后body标签前需要加一段js代码判断权限,无权限则回退页面

大致方法
写一个全局函数 routeCheck做路由判断。所有页面跳转都改为点击事件,调用routeCheck

function routeCheck(url){
    if(有进入url的权限){
        location.href = url;
    }
}

当然作为前端来说,这个方法是跳转前的权限判断,为了更加安全,防止用户通过浏览器地址栏输入url来实现跳转,
你还需要在需要权限控制的页面里再加一段权限检查的js代码,放在head后,body前,就是你说的dom渲染前

新手上路,请多包涵

页面都能进,能不能看到数据就是权限控制了

大概知道了,采纳的答案是可以实现大概控制。但是dom渲染是浏览器的事,是浏览器到用户的过程,在这之前html的整个源码已经发送给浏览器了,这是服务器到浏览器的过程。我可以通过服务器到浏览器这一传输过程抓包,比如用postman进行请求,就能看见html源码了。所以只用jquery的前后端分离是不能实现精细的页面权限控制的,因为各个页面间是隔离的。唉,还是得用vue

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏