为了账号安全,请及时绑定邮箱和手机立即绑定

rbac没权限返回如何判断跳转到页面还是ajax返回

rbac没权限返回如何判断跳转到页面还是ajax返回

噜噜哒 2019-04-10 20:48:53
做后台过程中遇到个问题用的是thinkphp自己的rbac每个baseController里检查权限当没有权限的时候,输出没有权限的页面但是如果是按钮的话,点击后没有权限是前端页面是没有任何反馈的。只有F12开发者工具才能看到所以,怎样在判断到没有权限后,有正确的返回方式,如果是页面让他进入没有权限的页面,如果是按钮让他返回ajax弹出您无权限的框
查看完整描述

2 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

根据HTTP请求的header判断是Ajax请求还是正常的页面请求,如果是普通的请求就直接跳转到登陆页,如果是Ajax请求(带X-Requested-With:XMLHttpRequest)就返回HTTPstatus401,或者类似能表达未登录状态的通用数据,我的处理是{status:1,message:'',data:[...]}这样的数据结构,前端根据返回数据的status判断当前是否成功取到数据,然后对封装的数据进行进一步处理
                            
查看完整回答
反对 回复 2019-04-10
?
aluckdog

TA贡献1847条经验 获得超7个赞

RestController有response()方法可以返回json,或者自己写一个返回json的方法。
比如返回:
{error:1,msg:"无权限访问xxx"}
前端判断data.error就可以了。
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信