<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # AuthWeb權限類使用說明 >[info] 類庫源碼 http://www.hmoore.net/mikkle/thinkphp5_study/484707 ### 控制器權限基類Auth調用AuthWeb方法 #### Auth權限檢驗方法 * 創建模塊基類驗證基類 * 在構造函數中將權限類注入 ~~~ $this->auth=AuthWeb::instance(); ~~~ * 注入其他常用參數 ~~~ $this->loginUrl = Url::build("center/main/login"); $this->logoutUrl = Url::build("center/main/logout"); $this->indexUrl = Url::build("center/main/index"); $this->mainUrl = Url::build("center/main/main"); ~~~ * 檢測是否登陸 ~~~ //檢測是否登陸 if(!$this->auth->checkLoginGlobal()) { $this->redirect($this->loginUrl); } ~~~ * 檢查節點權限 ~~~ //檢查節點權限 if(!$this->auth->checkNodeAuth() === true ){ $this->error($this->auth->getError(),$this->indexUrl); } ~~~ ## 權限類設置登錄方法 >[danger] 當用戶登陸驗證成功后 設置用戶的信息即可 ~~~ AuthWeb::instance()->setLoginGlobal($memberInfo); ~~~ ## 權限類用戶退出方法 ~~~ public function logout(){ AuthWeb::instance()->logoutGlobal(); return ShowCode::jsonCode(1001); } ~~~ Auth類源碼 ~~~ <?php /** * Created by PhpStorm. * User: Mikkle * QQ:776329498 * Date: 2017/11/13 * Time: 15:12 */ namespace app\center\controller\base; use mikkle\tp_auth\AuthWeb; use think\Url; class Auth extends Base { protected $auth; protected $loginUrl; protected $logoutUrl; protected $indexUrl; protected $mainUrl; protected $uuid; protected $adminInfo; public function _initialize() { parent::_initialize(); // TODO: Change the autogenerated stub $this->auth=AuthWeb::instance(); $this->loginUrl = Url::build("center/main/login"); $this->logoutUrl = Url::build("center/main/logout"); $this->indexUrl = Url::build("center/main/index"); $this->mainUrl = Url::build("center/main/main"); //檢測是否登陸 if(!$this->auth->checkLoginGlobal()) { $this->redirect($this->loginUrl); } $this->uuid = $this->auth->getUuid(); $this->adminInfo = $this->auth->getAdminInfo(); //檢查節點權限 if(!$this->auth->checkNodeAuth() === true ){ $this->error($this->auth->getError(),$this->indexUrl); } $this->assignAuthData(); } /** * @title assignAuthData * @description * @author Mikkle * @param_return name: */ protected function assignAuthData() { $assignAuthData = [ "member_info"=>$this->adminInfo, "login_url" =>$this->loginUrl, "logout_url" =>$this->logoutUrl, "index_url" =>$this->indexUrl, 'main_url' => $this ->mainUrl, ]; $this->assign($assignAuthData); } } ~~~ ## 權限數據表結構參考 ### 管理員表 ~~~ -- ---------------------------- -- Table structure for mk_system_admin -- ---------------------------- DROP TABLE IF EXISTS `mk_system_admin`; CREATE TABLE `mk_system_admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid` varchar(50) DEFAULT NULL, `admin_number` varchar(50) DEFAULT NULL COMMENT '管理員編號', `name` varchar(30) DEFAULT NULL COMMENT '用戶姓名', `username` varchar(50) DEFAULT NULL COMMENT '用戶名稱', `password` varchar(80) DEFAULT NULL COMMENT '用戶密碼', `department_id` varchar(40) DEFAULT NULL COMMENT '所屬部門ID', `department_name` varchar(50) DEFAULT NULL COMMENT '部門名稱', `jobs_id` varchar(40) DEFAULT NULL COMMENT '所屬職位ID', `role_id` varchar(40) DEFAULT NULL COMMENT '所屬角色ID', `mobile` varchar(20) DEFAULT NULL COMMENT '用戶手機', `desc` varchar(255) DEFAULT NULL, `we_openid` varchar(40) DEFAULT NULL COMMENT '微信的識別碼', `status` smallint(6) DEFAULT NULL COMMENT '狀態', `create_time` int(11) DEFAULT NULL COMMENT '創建時間', `update_time` int(11) DEFAULT NULL COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='管理員表'; ~~~ ### 菜單節點數據庫表 ~~~ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for mk_system_node -- ---------------------------- DROP TABLE IF EXISTS `mk_system_node`; CREATE TABLE `mk_system_node` ( `id` int(11) NOT NULL AUTO_INCREMENT, `guid` varchar(40) DEFAULT NULL, `pid` varchar(40) DEFAULT NULL COMMENT '父ID', `node_name` varchar(50) DEFAULT NULL COMMENT '節點名稱', `node_desc` varchar(255) DEFAULT NULL, `module_name` varchar(80) DEFAULT NULL COMMENT '模塊名稱', `control_name` varchar(80) DEFAULT NULL COMMENT '控制器名稱', `action_name` varchar(80) DEFAULT NULL COMMENT '方法名稱', `icon` varchar(100) DEFAULT NULL COMMENT '圖標', `auth_grade` smallint(6) DEFAULT '1' COMMENT '瀏覽權限 1 需要登陸 0 不用登陸', `is_menu` smallint(6) DEFAULT '0' COMMENT '是否菜單', `group` varchar(80) DEFAULT NULL COMMENT '節點分組', `sort` smallint(6) DEFAULT '0' COMMENT '節點排序', `status` smallint(6) DEFAULT NULL COMMENT '狀態', `create_time` int(11) DEFAULT NULL, `update_time` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='菜單節點表'; ~~~ ### 角色表 ~~~ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for mk_system_role -- ---------------------------- DROP TABLE IF EXISTS `mk_system_role`; CREATE TABLE `mk_system_role` ( `id` int(11) NOT NULL AUTO_INCREMENT, `guid` varchar(40) DEFAULT NULL, `role_name` varchar(60) DEFAULT NULL COMMENT '角色名稱', `role_desc` varchar(80) DEFAULT NULL COMMENT '角色備注', `status` smallint(6) DEFAULT NULL COMMENT '狀態', `create_time` int(11) DEFAULT NULL COMMENT '創建時間', `update_time` int(11) DEFAULT NULL COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='角色表'; ~~~ ### 角色節點中間表和管理員角色中間表 ~~~ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for mk_system_role_node_access -- ---------------------------- DROP TABLE IF EXISTS `mk_system_role_node_access`; CREATE TABLE `mk_system_role_node_access` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `role_id` varchar(40) DEFAULT NULL COMMENT '角色ID', `node_id` varchar(40) DEFAULT NULL COMMENT '節點ID', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='角色節點菜單關系表'; ~~~ >[danger] 當節點較少時 可以管理員和角色一對一對應 即一個管理員只有一個角色 >當管理員和角色采用關系表時候 一個管理員可以使用多個角色 這也是我推薦的方式 ~~~ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for mk_system_admin_role_access -- ---------------------------- DROP TABLE IF EXISTS `mk_system_admin_role_access`; CREATE TABLE `mk_system_admin_role_access` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid` varchar(40) DEFAULT NULL COMMENT '管理員ID', `role_id` varchar(40) DEFAULT NULL COMMENT '角色ID', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='管理員角色關系表'; ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看