Admin/Account/info 这是我查询信息的方法
管理员A所属分组未赋予该权限,但是我查询信息的时候是用ajax方法提交的:
function getInfo(id) {
$.get("<%:U('Account/info')%>" + "?id=" + id, function(data) {
if (data) {
......
} else {
......
}
});
}这样明明没有权限的 但是任然可以获取到数据 请问是什么原因?以下是我判断权限的方法
protected function _initialize() {
// 获取当前用户ID
define('UID', is_login());
if (!UID) {// 还没登录 跳转到登录页面
$this -> redirect('Public/login');
}
// 是否是超级管理员
define('IS_ROOT', is_administrator(UID));
//权限检测
$rule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME);
if (!$this -> checkRule($rule)) {
$this -> error('提示:无权访问,您可能需要联系管理员为您授权!');
}
}
final protected function checkRule($rule) {
if (IS_ROOT) {
//超级管理员无限制
return true;
}
$AUTH = new \Think\Auth();
if (!$AUTH -> check($rule, UID)) {
return false;
}
return true;
}请各位大牛帮忙看看 小弟新手 第一次用这个 很桑心的说.... 最佳答案