gpt4 book ai didi

codeigniter - 检查整个站点部分的身份验证(多个 Controller )

转载 作者:行者123 更新时间:2023-12-04 06:21:18 24 4
gpt4 key购买 nike

我的登录保护成员(member)区有许多子部分和 Controller 。

为了检查用户是否已登录并允许在那里,我只想放置我的 auth->is_logged_in()每个 Controller 的构造函数中的方法。

创建一个包含此检查的基本 Controller 然后将其扩展到所有成员区域 Controller 是否值得? (最佳实践?)

最佳答案

我为此创建了 Auth 库

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Auth
{
private $CI;
private $redirect;

function __construct()
{
$this->CI =& get_instance();
$this->redirect = 'home/login';
}

function _redirect($redirect, $rurl)
{
redirect(($rurl == '') ? $this->redirect : $rurl);
}

function check_login($redirect = FALSE, $rurl = '')
{
if($this->CI->session->userdata('logged') == TRUE) {
return TRUE;
}
$this->_redirect($redirect, $rurl);
}

function check_admin($redirect = FALSE, $rurl = '')
{
if($this->CI->session->userdata('user_type') == 'administrator') {
return TRUE;
}
$this->_redirect($redirect, $rurl);
}
}
?>

这是用户 Controller
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Users extends CI_Controller
{
function __construct()
{
parent::__construct();

$this->load->library('auth');
// second param is optional // will redirect if not admin //
$this->auth->check_admin(TRUE, 'admin/login');
}

希望这对您有所帮助,如果有任何问题,请告诉我们...谢谢!

关于codeigniter - 检查整个站点部分的身份验证(多个 Controller ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513852/

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