国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

TP后臺(tái)權(quán)限管理筆記

jiekechoo / 1568人閱讀

摘要:管理員表用戶用戶名密碼添加時(shí)間最后登錄時(shí)間最后登錄權(quán)限角色角色表角色角色名稱權(quán)限列表角色描述功能菜單表權(quán)限名字所屬分組權(quán)限碼控制器動(dòng)作刪除狀態(tài)刪除正常根據(jù)角色權(quán)限過濾菜單過濾菜單系統(tǒng)設(shè)置網(wǎng)站設(shè)置友情鏈接自定義導(dǎo)航區(qū)域管理權(quán)限資源列表

//管理員表
CREATE TABLE `qz_admin` (
  `admin_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT "用戶id",
  `admin_name` varchar(60) NOT NULL DEFAULT "" COMMENT "用戶名",
  `email` varchar(60) NOT NULL DEFAULT "" COMMENT "email",
  `password` varchar(32) NOT NULL DEFAULT "" COMMENT "密碼",
  `add_time` int(11) NOT NULL DEFAULT "0" COMMENT "添加時(shí)間",
  `last_login` int(11) NOT NULL DEFAULT "0" COMMENT "最后登錄時(shí)間",
  `last_ip` varchar(15) NOT NULL DEFAULT "" COMMENT "最后登錄ip",
  `nav_list` text NOT NULL COMMENT "權(quán)限",
  `role_id` smallint(5) DEFAULT NULL COMMENT "角色id",
  PRIMARY KEY (`admin_id`),
  KEY `user_name` (`user_name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
//角色表
CREATE TABLE `qz_admin_role` (
  `role_id` smallint(6) unsigned NOT NULL AUTO_INCREMENT COMMENT "角色I(xiàn)D",
  `role_name` varchar(30) DEFAULT NULL COMMENT "角色名稱",
  `act_list` text COMMENT "權(quán)限列表",
  `role_desc` varchar(255) DEFAULT NULL COMMENT "角色描述",
  PRIMARY KEY (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
//功能菜單表
CREATE TABLE `qz_system_menu` (
  `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL COMMENT "權(quán)限名字",
  `group` varchar(20) DEFAULT NULL COMMENT "所屬分組",
  `right` text COMMENT "權(quán)限碼(控制器+動(dòng)作)",
  `is_del` tinyint(1) DEFAULT "0" COMMENT "刪除狀態(tài) 1刪除,0正常",
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;
function getMenuList($act_list){
    //根據(jù)角色權(quán)限過濾菜單
    $menu_list = getAllMenu();
    if($act_list != "all"){
        $right = M("system_menu")->where("id in ($act_list)")->cache(false)->getField("right",true);
        $role_right = "";
        foreach ($right as $val){
            $role_right .= $val.",";
        }
        $role_right = explode(",", $role_right);
        foreach($menu_list as $k=>$mrr){
            foreach ($mrr["sub_menu"] as $j=>$v){
                if(!in_array($v["control"]."Controller@".$v["act"], $role_right)){
                    unset($menu_list[$k]["sub_menu"][$j]);//過濾菜單
                }
            }
        }
    }
    return $menu_list;
}
function getAllMenu(){
    return    array(
            "system" => array("name"=>"系統(tǒng)設(shè)置","icon"=>"fa-cog","sub_menu"=>array(
                    array("name"=>"網(wǎng)站設(shè)置","act"=>"index","control"=>"System"),
                    array("name"=>"友情鏈接","act"=>"linkList","control"=>"Article"),
                    array("name"=>"自定義導(dǎo)航","act"=>"navigationList","control"=>"System"),
                    array("name"=>"區(qū)域管理","act"=>"region","control"=>"Tools"),
                    array("name"=>"權(quán)限資源列表","act"=>"right_list","control"=>"System"),
            )),
            "access" => array("name" => "權(quán)限管理", "icon"=>"fa-gears", "sub_menu" => array(
                    array("name" => "管理員列表", "act"=>"index", "control"=>"Admin"),
                    array("name" => "角色管理", "act"=>"role", "control"=>"Admin"),
                    array("name" => "供應(yīng)商管理", "act"=>"supplier", "control"=>"Admin"),
                    array("name" => "管理員日志", "act"=>"log", "control"=>"Admin"),
            )),
            "member" => array("name"=>"會(huì)員管理","icon"=>"fa-user","sub_menu"=>array(
                    array("name"=>"會(huì)員列表","act"=>"index","control"=>"User"),
                    array("name"=>"會(huì)員等級(jí)","act"=>"levelList","control"=>"User"),
            )),
            "article" => array("name" => "文章管理", "icon"=>"fa-comments", "sub_menu" => array(
                    array("name" => "文章列表", "act"=>"articleList", "control"=>"Article"),
                    array("name" => "文章分類", "act"=>"categoryList", "control"=>"Article"),
                    array("name" => "專題列表", "act"=>"topicList", "control"=>"Topic"),
            ))
    );
}
//權(quán)限驗(yàn)證函數(shù)(TP), 入口初始化執(zhí)行
public function check_priv()
{
    $ctl = CONTROLLER_NAME;
    $act = ACTION_NAME;
    $act_list = session("act_list");
    //無需驗(yàn)證的操作
    $uneed_check = array("login","logout","vertifyHandle","vertify","imageUp","upload","login_task");
    if($ctl == "Index" || $act_list == "all"){
        //后臺(tái)首頁(yè)控制器無需驗(yàn)證,超級(jí)管理員無需驗(yàn)證
        return true;
    }elseif(strpos("ajax",$act) || in_array($act,$uneed_check)){
        //所有ajax請(qǐng)求不需要驗(yàn)證權(quán)限
        return true;
    }else{
        $role_right = "";
        $right = M("system_menu")->where("id in ($act_list)")->cache(true)->getField("right",true);
        foreach ($right as $val){
            $role_right .= $val.",";
        }
        $role_right = explode(",", $role_right);
        //檢查是否擁有此操作權(quán)限
        if(!in_array($ctl."Controller@".$act, $role_right)){
            $this->error("您沒有操作權(quán)限,請(qǐng)聯(lián)系超級(jí)管理員分配權(quán)限",U("Admin/Index/index"));
        }
    }
}
//權(quán)限分配,給角色添加、修改權(quán)限
public function role_info(){
    $role_id = I("get.role_id");
    $tree = $detail = array();
    if($role_id){
        $detail = M("admin_role")->where("role_id=$role_id")->find();
        $detail["act_list"] = explode(",", $detail["act_list"]);
        $this->assign("detail",$detail);
    }
    $right = M("system_menu")->order("id")->select();
    foreach ($right as $val){
        if(!empty($detail)){
            $val["enable"] = in_array($val["id"], $detail["act_list"]);
        }
        $modules[$val["group"]][] = $val;
    }
    //權(quán)限組(對(duì)應(yīng)數(shù)據(jù)表里面的group字段)
    $group = array("system"=>"系統(tǒng)管理","access"=>"權(quán)限管理",article"=>"文章管理","member"=>"會(huì)員管理");
    $this->assign("group",$group);
    $this->assign("modules",$modules);
    $this->display();
}
//權(quán)限分配保存
public function roleSave(){
    $data = I("post.");
    $res = $data["data"];
    $res["act_list"] = is_array($data["right"]) ? implode(",", $data["right"]) : "";
    if(empty($data["role_id"])){
        $r = D("admin_role")->add($res);
    }else{
        $r = D("admin_role")->where("role_id=".$data["role_id"])->save($res);
    }
    if($r){
        adminLog("管理角色",__ACTION__);
        $this->success("操作成功!",U("Admin/Admin/role_info",array("role_id"=>$data["role_id"])));
    }else{
        $this->success("操作失敗!",U("Admin/Admin/role"));
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/22415.html

相關(guān)文章

  • TP-admin即基于ThinkPHP5拿來即用高性能后臺(tái)管理系統(tǒng)

    摘要:即基于拿來即用高性能后臺(tái)管理系統(tǒng)官方文檔地址在線體驗(yàn)地址賬戶密碼線上倉(cāng)庫(kù)在線地址源代碼下載克隆直接下載本地部署運(yùn)行環(huán)境要求建議配置虛擬域名若不清楚,請(qǐng)自行解決之,方便接下來開展你的開發(fā)工作。 新版本在線體驗(yàn)地址已經(jīng)上線,歡迎體驗(yàn)? ---2017-01-14 喜歡就Star,不只是Fork; 想要分享的動(dòng)機(jī)才是驅(qū)動(dòng)力,而技術(shù)僅僅是一種方法。 ====================...

    Hydrogen 評(píng)論0 收藏0
  • TP-admin即基于ThinkPHP5拿來即用高性能后臺(tái)管理系統(tǒng)

    摘要:即基于拿來即用高性能后臺(tái)管理系統(tǒng)官方文檔地址在線體驗(yàn)地址賬戶密碼線上倉(cāng)庫(kù)在線地址源代碼下載克隆直接下載本地部署運(yùn)行環(huán)境要求建議配置虛擬域名若不清楚,請(qǐng)自行解決之,方便接下來開展你的開發(fā)工作。 新版本在線體驗(yàn)地址已經(jīng)上線,歡迎體驗(yàn)? ---2017-01-14 喜歡就Star,不只是Fork; 想要分享的動(dòng)機(jī)才是驅(qū)動(dòng)力,而技術(shù)僅僅是一種方法。 ====================...

    Aklman 評(píng)論0 收藏0
  • 基于ThinkPHP5拿來即用高性能后臺(tái)管理系統(tǒng)

    摘要:數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用簡(jiǎn)稱即基于的后臺(tái)管理系統(tǒng)官方文檔地址在線體驗(yàn)地址賬戶密碼線上倉(cāng)庫(kù)在線地址源代碼下載克隆直接下載本地部署運(yùn)行環(huán)境要求建議配置虛擬域名若不清楚,請(qǐng)自行解決之,方便接下來開展你的開發(fā)工作。 喜歡就Star,不只是Fork; 想要分享的動(dòng)機(jī)才是驅(qū)動(dòng)力,而技術(shù)僅僅是一種方法。 數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用 showImg(https://seg...

    894974231 評(píng)論0 收藏0
  • 基于ThinkPHP5拿來即用高性能后臺(tái)管理系統(tǒng)

    摘要:數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用簡(jiǎn)稱即基于的后臺(tái)管理系統(tǒng)官方文檔地址在線體驗(yàn)地址賬戶密碼線上倉(cāng)庫(kù)在線地址源代碼下載克隆直接下載本地部署運(yùn)行環(huán)境要求建議配置虛擬域名若不清楚,請(qǐng)自行解決之,方便接下來開展你的開發(fā)工作。 喜歡就Star,不只是Fork; 想要分享的動(dòng)機(jī)才是驅(qū)動(dòng)力,而技術(shù)僅僅是一種方法。 數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用 showImg(https://seg...

    SHERlocked93 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<