Ejemplo n.º 1
0
 public function init()
 {
     parent::init();
     // ---------------- 判断登录 --------------------------------------
     $admin = '';
     $relogin = false;
     // 判断session
     $admin = Tools_help::getSession('admin');
     if (empty($admin)) {
         // 判断cookie
         $admin = Tools_help::getCookie('admin');
         if (empty($admin)) {
             $this->redirect('/backend/Login/index');
         } else {
             $relogin = true;
         }
     }
     // cookie重新验证
     if ($admin && $relogin) {
         $adminModel = new AdminModel();
         $data = $adminModel->getAdminById($admin['id']);
         if (empty($data) || $data['roleid'] != 1 || $data['password'] != $admin['password']) {
             $this->redirect('/backend/Login/index');
         }
         $adminModel->reMemberMe($data);
         $admin = $data;
     }
     // E
     $this->_view->assign("curr_admin", $admin);
     $this->admin = $admin;
     $rbac = new Rbac_Core();
     if ($admin['rid']) {
         $checkTitle = strtolower($this->moduleName . '/' . $this->controllerName . '/' . $this->actionName);
         $pid = $rbac->check($admin['rid'], $checkTitle);
         if (empty($pid)) {
             exit('您没有权限访问该网页!<a href="javascript:window.history.back();">返回</a> ');
         }
     }
     $menu = $rbac->getMenu($admin['rid'], false);
     // 后台菜单数组 S
     $menustr = new \Core_CBackendMenu($menu, $this->controllerName, $this->actionName);
     $this->_view->assign('backendMenu', $menustr);
     // E
 }
Ejemplo n.º 2
0
 public static function getInstance()
 {
     /*{{{*/
     if (null === self::$_rbac) {
         $configarr = \Yaf_Registry::get('configarr');
         $config = array('host' => $configarr['database']['host'], 'adapter' => 'pdo_mysql', 'dbname' => $configarr['database']['dbname'], 'tablePrefix' => $configarr['database']['pre'] . 'rbac_', 'user' => $configarr['database']['username'], 'pass' => $configarr['database']['password']);
         self::$_rbac = new PhpRbac\Rbac('', $config);
     }
     return self::$_rbac;
 }
Ejemplo n.º 3
0
 /**
  * 单个角色删除
  *
  */
 public function delAction()
 {
     $id = $this->getg('id', 0);
     if (empty($id)) {
         $this->error('id 不能为空!');
     }
     // 实例化Model
     $rbac = new Rbac_Core();
     $row = $rbac->delRole($id);
     if ($row) {
         $this->error('恭喜,删除成功', 'Message');
     } else {
         $this->error('删除失败');
     }
 }