|
楼主 |
发表于 2018-8-7 20:30:21
|
显示全部楼层
本帖最后由 dzwlxk 于 2018-8-7 20:55 编辑
干脆我把代码贴出来:
hooks函数
public function auto_verify(){
//目录
$directory = substr($this->ci_obj->router->fetch_directory(),0,-1);
//控制器
$controller = $this->ci_obj->router->fetch_class();
//方法
$function = $this->ci_obj->router->fetch_method();
//UURI(MD5)
$this->ci_obj->uuri = md5($directory.$controller.$function);
if($directory!=""){//当非主目录
if($this->ci_obj->config->item('rbac_auth_on')){//开启认证
if(!in_array($directory,$this->ci_obj->config->item('rbac_notauth_dirc'))){//需要验证的目录
//验证是否登录
if(!rbac_conf(array('INFO','id'))){
$f=0;
get_auth($f);
die();
}
if($this->ci_obj->config->item('rbac_auth_type')==2){//若为实时认证
$this->ci_obj->load->model("rbac_model");
//检测用户状态
$STATUS = $this->ci_obj->rbac_model->check_user_by_id(rbac_conf(array('INFO','id')));
if($STATUS==FALSE){
$f=0;
get_auth($f);
die();
}
//ACL重新赋权
$this->ci_obj->rbac_model->get_acl(rbac_conf(array('INFO','role_id')));
}
//验证ACL权限
if(!rbac_conf(array('ACL',$directory,$controller,$function))){
$f=0;
get_auth($f);
die();
}
$f=1;
get_rauth($f);
die();
}
}
}
}
rbac_help函数:
if (! function_exists ( "get_auth" )) {
function get_auth($flag) {
error_log($flag,3,"c:/errors.txt");
exit(json_encode($flag));
}
}
js文件;
我用的是H-ui前端框架
$(".Hui-aside").on("click",".menu_dropdown a",function(){
var v=this;
$.get("http://localhost/zkzdemo/manager/third_party/rbac/views/test.php",function(data){//这里的PHP是视图文件
if(data==1) {//如果为1,则打开页面
console.info(data);
Hui_admin_tab(v);
}
else {//如果为0,则弹出无权限信息框
console.info(data);
alert("无权限");
}
});
});
现在问题是如何取这个data值怎样从rbac_helper传到这个js文件? |
|