Php 如何验证用户是否已登录?
我正在为Php 如何验证用户是否已登录?,php,codeigniter,Php,Codeigniter,我正在为PHP使用CodeIgniter框架。有些页面专门用于管理,它们位于Admin/*中。当用户登录时,我在会话中存储一些值作为标志,并在控制器中验证它,以测试用户是否已登录。我编写了代码来检查控制器中每个方法中的会话。但是,后来我意识到我不想在每个方法中都编写相同的代码行,因为许多问题都是从可维护性的角度产生的。然后我决定创建一个独占控制器,它只加载管理视图,因此在它的构造函数中我检查会话值。除此之外还有其他方法吗。我做得对吗?或者在CodeIgniter?中提供任何其他安全机制。您已经采
PHP
使用CodeIgniter
框架。有些页面专门用于管理,它们位于Admin/*
中。当用户登录时,我在会话中存储一些值作为标志,并在控制器中验证它,以测试用户是否已登录。我编写了代码来检查控制器中每个方法中的会话。但是,后来我意识到我不想在每个方法中都编写相同的代码行,因为许多问题都是从可维护性的角度产生的。然后我决定创建一个独占控制器,它只加载管理视图,因此在它的构造函数中我检查会话值。除此之外还有其他方法吗。我做得对吗?或者在CodeIgniter
?中提供任何其他安全机制。您已经采取了最好的方法之一(我的意见),只需将其他管理控制器从该控制器扩展,就可以拥有专门的控制器(管理博客、管理库等)。如果你需要帮助,我很乐意帮助你。你可以用构造函数方法来做,比如这样
function __construct {
parent::construct();
/* Do you login check here */
}
例如:
class Admin extends Controller {
function __construct()
{
parent::__construct();
$this->is_logged_in();
}
function is_logged_in()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
redirect('login');
}
}
嘿,Flakron,我非常感谢您对我的帮助/建议。特别是关于如何首先设置控制器。然后,如何让另一个控制器在扩展CI_控制器的同时扩展它。