/** * 基类初始化操作 * @author Terry<*****@*****.**> * @date 2013-3-25 */ public function _initialize() { $langSet = C('DEFAULT_LANG'); // echo "<pre>";print_r(MODULE_NAME);exit; // 读取当前模块语言包 if (is_file(LANG_PATH . $langSet . '/' . MODULE_NAME . '.php')) { L(include LANG_PATH . $langSet . '/' . MODULE_NAME . '.php'); } //判断用户是否登陆 $this->doCheckLogin(); $bm = array(); $bm['url'] = MODULE_NAME; $bm['module'] = L(MODULE_NAME); $bm['action'] = L(MODULE_NAME . '_' . ACTION_NAME); $this->assign('breadcrumbs', $bm); import('ORG.Util.Session'); $this->assign("uid", session("admin")); $admin_access = D('Config')->getCfgByModule('ADMIN_ACCESS'); if (intval($admin_access['EXPIRED_TIME']) > 0 && Session::isExpired()) { unset($_SESSION[C('USER_AUTH_KEY')]); unset($_SESSION); session_destroy(); } if (intval($admin_access['EXPIRED_TIME']) > 0) { Session::setExpire(time() + $admin_access['EXPIRED_TIME'] * 60); } if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) { $rbac = new Arbac(); if (!$rbac->AccessDecision()) { //检查认证识别号 if (!$_SESSION[C('USER_AUTH_KEY')]) { //跳转到认证网关 redirect(PHP_FILE . C('USER_AUTH_GATEWAY')); } // 没有权限 抛出错误 if (C('RBAC_ERROR_PAGE')) { // 定义权限错误页面 redirect(C('RBAC_ERROR_PAGE')); } else { if (C('GUEST_AUTH_ON')) { $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY')); } // 提示错误信息 $this->error(L('_VALID_ACCESS_')); } } } $this->getTop(); $this->getMenus(); import('ORG.Util.Page'); }
/** * @covers AbiosGaming\Session::isExpired */ public function testIsExpired() { $cache = new \Onoi\Cache\FixedInMemoryLruCache(10); $this->api->useCache($cache); // create session with empty cache $this->getsData(200, '{"session_id":"FAKESESSION"}'); $session = new Session($this->api); $this->assertFalse($session->isExpired(), 'Newly created session should be valid'); // create session from fresh cache $session = new Session($this->api); $this->assertFalse($session->isExpired(), 'New session from cache should be valid'); // create session from stale cache $this->getsData(200, '{"session_id":"FRESHSESSION"}'); $cache->save(Session::$cachingKey, serialize(["STALESESSION", time() - 10000])); $session = new Session($this->api); $this->assertEquals($session->getKey(), 'FRESHSESSION', 'Stale sessions from cache should not be used'); }
/** * 基类初始化操作 * @author Terry<*****@*****.**> * @date 2013-3-25 */ public function _initialize() { $this->doCheckLogin(); $this->_name = $this->getActionName(); $langSet = C('DEFAULT_LANG'); //读取公共语言包 L(include LANG_PATH . $langSet . '/Common.php'); // 读取当前模块语言包 if (is_file(LANG_PATH . $langSet . '/' . MODULE_NAME . '.php')) { L(include LANG_PATH . $langSet . '/' . MODULE_NAME . '.php'); } //判断用户是否登陆 $ary_get = $this->_get(); $module = $ary_get['_URL_'][1] ? $ary_get['_URL_'][1] : "Index"; $action = $ary_get['_URL_'][2] ? $ary_get['_URL_'][2] : "index"; if (!empty($module) && !empty($action)) { $array_where = array(); $array_where['action'] = $action; $array_where['module'] = $module; $array_where['status'] = '1'; $array_where['is_show'] = '1'; $rolenode = D("RoleNode")->where($array_where)->order('sort asc')->find(); if (!empty($rolenode) && is_array($rolenode)) { $navid = $rolenode['nav_id']; } else { $node = D("RoleNode")->where(array('module' => $module, 'action' => array('NEQ', ''), 'status' => '1'))->order('sort asc')->find(); $navid = $node['nav_id']; $module = $node['module']; $action = $node['action']; } } $this->assign("modulename", $module); $this->assign("actionname", $action); $this->assign("navid", $navid); $navname = D("RoleNav")->where(array('id' => $navid))->find(); session("navname", $navname['name']); $rolenav = M('RoleNav')->field(C('DB_PREFIX') . 'role_nav.name,' . C('DB_PREFIX') . 'role_node.*')->join(C('DB_PREFIX') . 'role_node ON ' . C('DB_PREFIX') . 'role_nav.id = ' . C('DB_PREFIX') . 'role_node.`nav_id`')->where(C('DB_PREFIX') . 'role_nav.id = "' . $navid . '" AND ' . C('DB_PREFIX') . 'role_node.`action` = "' . $action . '" AND ' . C('DB_PREFIX') . 'role_node.`module` = "' . $module . '"')->find(); if (!empty($rolenav) && is_array($rolenav)) { cookie("menuid", $rolenav['id']); } import('ORG.Util.Session'); $this->assign("uid", session("admin")); $admin_access = D('Config')->getCfgByModule('ADMIN_ACCESS'); if (intval($admin_access['EXPIRED_TIME']) > 0 && Session::isExpired()) { unset($_SESSION[C('USER_AUTH_KEY')]); unset($_SESSION); session_destroy(); } if (intval($admin_access['EXPIRED_TIME']) > 0) { Session::setExpire(time() + $admin_access['EXPIRED_TIME'] * 60); } if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) { $rbac = new Arbac(); if (!$rbac->AccessDecision()) { //检查认证识别号 if (!$_SESSION[C('USER_AUTH_KEY')]) { //跳转到认证网关 redirect(PHP_FILE . C('USER_AUTH_GATEWAY')); } // 没有权限 抛出错误 if (C('RBAC_ERROR_PAGE')) { // 定义权限错误页面 redirect(C('RBAC_ERROR_PAGE')); } else { if (C('GUEST_AUTH_ON')) { $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY')); } // 提示错误信息 $this->error(L('_VALID_ACCESS_')); } } } $this->getTop(); $this->getMenus($navid); $this->_Breadcrumb($navid); import('ORG.Util.Page'); import('ORG.Util.Tree'); import('ORG.Util.Dir'); }
function _initialize() { /* 对用户传入的变量进行转义操作。*/ if (MAGIC_QUOTES_GPC) { if (!empty($_GET)) { $_GET = stripslashesDeep($_GET); } if (!empty($_POST)) { $_POST = stripslashesDeep($_POST); } $_COOKIE = stripslashesDeep($_COOKIE); $_REQUEST = stripslashesDeep($_REQUEST); } $this->assign('module_name', MODULE_NAME); $this->assign('action_name', ACTION_NAME); $langSet = C('DEFAULT_LANG'); // 定义当前语言 define('FANWE_LANG_SET', strtolower($langSet)); $this->assign('default_lang', FANWE_LANG_SET); // 读取项目公共语言包 if (is_file(LANG_PATH . $langSet . '/common.php')) { L(include LANG_PATH . $langSet . '/common.php'); } // 读取当前模块语言包 if (is_file(LANG_PATH . $langSet . '/' . MODULE_NAME . '.php')) { L(include LANG_PATH . $langSet . '/' . MODULE_NAME . '.php'); } $this->assign('ur_href', L(MODULE_NAME) . ' > ' . L(MODULE_NAME . '_' . ACTION_NAME)); if (Session::isExpired()) { unset($_SESSION[C('USER_AUTH_KEY')]); unset($_SESSION); session_destroy(); } Session::setExpire(time() + fanweC("EXPIRED_TIME") * 60); // 用户权限检查 if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) { import('@.ORG.RBAC'); if (!RBAC::AccessDecision()) { //检查认证识别号 if (!$_SESSION[C('USER_AUTH_KEY')]) { //跳转到认证网关 redirect(PHP_FILE . C('USER_AUTH_GATEWAY')); } // 没有权限 抛出错误 if (C('RBAC_ERROR_PAGE')) { // 定义权限错误页面 redirect(C('RBAC_ERROR_PAGE')); } else { if (C('GUEST_AUTH_ON')) { $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY')); } // 提示错误信息 if (intval($_REQUEST['ajax']) == 2) { echo L('_VALID_ACCESS_'); exit; } else { $this->assign("jumpUrl", u("Index/main")); $this->error(L('_VALID_ACCESS_')); } } } } }