/** * 构造函数 */ public function __construct() { if ($this->Args('isajax', 'int') == 1) { $this->isAjax = 1; } if (!self::isLogin()) { if ($this->isAjax) { $this->displayAjax(false, '您还没有登陆,请先登录'); } return CResponse::getInstance()->redirect(array('c' => 'base', 'a' => 'index')); } $status = self::checkRight(); // 用户资源 if ($this->layout == 'layout_main') { $userData = CSession::get('user'); $this->assign('userdata', $userData); } // 检查权限 if (false == $status) { // 判断请求方式 if ($this->isAjax) { $this->displayAjax(false, '您没有权限执行此操作!'); } // 分析错误信息 $data['from'] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; // ip归属地 $data['ip'] = CRequest::getIp(); $data['ipArea'] = IPArea::getArea(CRequest::getIp()); $data['agent'] = CRequest::getAgent(); $this->assign('data', $data); $this->display('alert/noright'); exit; } }
/** * 用户登陆 */ public function userLogin($checkData) { $result = array('status' => false, 'message' => '发生错误,处理失败'); // 检查 if (!isset($checkData['status']) || false == $checkData['status'] || empty($checkData['userData'])) { $result['message'] = '登录失败'; return $result; } // 用户资料 $userData = $checkData['userData']; // 获取权限 $groupList = CModel::factory('adminUserGroupModel')->getGroupList(); // 不存在管理组 if (!isset($groupList[$userData['groupId']])) { // 记录日志 $result['message'] = '没有权限登录(group)'; return $result; } // 填充组信息 $userData['groupData'] = $groupList[$userData['groupId']]; // 获取菜单 $menuData = AdminMenu::getUserMenu($userData); // 保存菜单 $userData['menu'] = $menuData['menu']; // 保存权限 $userData['rightAll'] = $menuData['allRight']; $userData['isInternal'] = intval(IPArea::isInternalIP()); // 获取导航 // 登陆地 if ($userData['isInternal'] == 1) { $userData['loginArea'] = '公司内部'; } else { $userData['loginArea'] = IPArea::getArea(CRequest::getIp()); } // 保存状态 CSession::set('user', $userData); $result = array('status' => true, 'urlPram' => array('c' => 'admin', 'a' => 'index')); // 返回数据 return $result; }