Codeigniter:routes.php中的会话类
如何访问routes.php中的codeigniter会话类 我需要该类将所有请求(除了/登录)路由到某个控制器,除非用户具有管理员权限$this->session->userdata'logged'Codeigniter:routes.php中的会话类,php,codeigniter,routes,Php,Codeigniter,Routes,如何访问routes.php中的codeigniter会话类 我需要该类将所有请求(除了/登录)路由到某个控制器,除非用户具有管理员权限$this->session->userdata'logged' 所有路由规则都正常工作,我只需要访问该类。您通常无法从配置和路由文件访问Singleton$this->,因为此时未加载类 尽管访问会话有一些变通方法,但更好的方法是使用MY_控制器和_remap函数: 下面是一些示例代码,详细解释了它们的工作原理: 创建此MY_控制器并将其存储在applicat
所有路由规则都正常工作,我只需要访问该类。您通常无法从配置和路由文件访问Singleton$this->,因为此时未加载类 尽管访问会话有一些变通方法,但更好的方法是使用MY_控制器和_remap函数: 下面是一些示例代码,详细解释了它们的工作原理: 创建此MY_控制器并将其存储在application/core/中,然后让其他控制器扩展它:
<?php if (! defined('BASEPATH')) exit('No direct script access');
class MY_Controller extends CI_Controller {
function __construct() {
parent::__construct();
$this->_check_auth();
}
private function _check_auth(){
if(!$this->session->userdata('is_admin')){
$this->session->sess_destroy();
redirect('login');
}
}
}
注意:以上代码假设您已经有了用户登录系统。为什么要在routes页面中使用session类。在路由中定义默认控制器,然后在默认控制器的构造函数中检查登录。问题是我已经将我的\u控制器用于管理后端。我正在建立一个启动前倒计时,除了管理员,所有的URL都必须指向该页面,在我的路由中我添加了这个伪代码:如果现在>启动日期| |用户是管理员{正常导航路由}否则{所有路由必须指向倒计时,除了登录}路由工作正常,我只需要检查管理员中存储的用户权限我不能使用我的_控制器,它用于管理员后端,请参阅我在原始帖子中添加的评论