未在 codeigniter 中设置会话时,未授予对控制器中某些方法的访问权限
2022-08-30 23:14:57
我希望用户在未设置会话时不访问控制器的某些方法。为此,我可以在所有方法中检查会话,如果设置了会话,则只能转到更远的地方,否则重定向到特定页面。由于我有很多方法,我不希望用户在没有设置会话时访问。它批量通过所有方法和检查会话。是否有任何快捷方式可以获得此功能。
我尝试检查会话是控制器的构造函数方法,但它适用于所有方法。但是我只想在未设置会话的情况下阻止特定方法。如何做到这一点。
例:
class dashboard extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->library('session');
$this->load->model('dbmodel');
$this->load->helper('url','form');
//verified user check
if($this->session->userdata("unverified") != FALSE) {
redirect("verify_user");
}
}
//verified user check
}
上面的代码,重定向到verify_user控制器,一旦用户转到仪表板控制器时发现“未验证”会话。但是我想提供对仪表板控制器的某种方法的访问权限。不是所有的方法。每当找到会话时,此代码都会重定向,并且不授予对仪表板控制器的任何方法的访问权限。