做后台过程中遇到个问题用的是thinkphp自己的rbac每个baseController里检查权限当没有权限的时候,输出没有权限的页面但是如果是按钮的话,点击后没有权限是前端页面是没有任何反馈的。只有F12开发者工具才能看到所以,怎样在判断到没有权限后,有正确的返回方式,如果是页面让他进入没有权限的页面,如果是按钮让他返回ajax弹出您无权限的框
2 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
根据HTTP请求的header判断是Ajax请求还是正常的页面请求,如果是普通的请求就直接跳转到登陆页,如果是Ajax请求(带X-Requested-With:XMLHttpRequest)就返回HTTPstatus401,或者类似能表达未登录状态的通用数据,我的处理是{status:1,message:'',data:[...]}这样的数据结构,前端根据返回数据的status判断当前是否成功取到数据,然后对封装的数据进行进一步处理
aluckdog
TA贡献1847条经验 获得超7个赞
RestController有response()方法可以返回json,或者自己写一个返回json的方法。比如返回:{error:1,msg:"无权限访问xxx"}前端判断data.error就可以了。
添加回答
举报
0/150
提交
取消