gpt4 book ai didi

Codeigniter Hooks 进展

转载 作者:行者123 更新时间:2023-12-02 05:37:52 26 4
gpt4 key购买 nike

你好,我正在使用 post_controller 钩子(Hook)来验证用户是否登录但是当验证失败时,我将用户重定向到登录 Controller ....现在的问题是当它重定向到默认 Controller post_controller hooks 时再次调用,这样无限循环开始重复重定向。我想为除登录 Controller 之外的每个 Controller 调用 post_controller Hook ....还有一种方法我不需要一次又一次地加载 session 库,因为如果用户登录,它会在后 Controller 中加载 session 库,并通过配置文件中的自动加载...这是我的代码


//Hooks
$hook['post_controller'] = array(
'class' => 'is_login',
'function' => 'index',
'filename' => 'is_login.php',
'filepath' => 'hooks'
); <p></p>

//Is_Login Hook
class is_login {
function __construct(){
$this->CI =& get_instance();

if(!isset($this->CI->session)) //Check if session lib is loaded or not
$this->CI->load->library('session'); //If not loaded, then load it here
}

public function index()
{
$login_id = $this->CI->session->userdata('login_id');
$login_flag = $this->CI->session->userdata('logged_in');

if ($login_flag != TRUE || $login_id == "")
{
redirect(site_url().'/welcome_login', 'refresh');

}
}
}

最佳答案

这似乎不是使用 Codeigniter 钩子(Hook)的好地方。最好在应用程序中扩展 Controller 类,并在构造函数中检查用户是否已登录并重定向到登录 Controller 。但是无需从您的 Controller 扩展登录 Controller ,而是从 CI_Controller 扩展它。

关于Codeigniter Hooks 进展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11408379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com