2

我有以下措施来保护管理部分:

  • 在会议内部,我有以下部分:

is_logged_in -> 这可以是 0 或 1

admin -> 检查用户是否为管理员(值为 0 或 1)

在管理控制器或与网站管理有关的控制器中的任何函数之前,我调用函数来检查用户是否已登录并且他是管理员吗?这够了吗?如果不是,我该怎么做才能使管理部分更安全?

4

2 回答 2

3

一种简单的会话形式是

$data = array(
    "admin" => $username,
    "is_logged_in"  => true
);
$this->session->set_userdata($data);

但是您也可以在会话中存储 id(如果需要)或其他内容。

如果你想检查它,你可以这样做

if (!isset($this->session->userdata['admin'])) {
    redirect('admin/login'); // for example
}

我更喜欢将会话存储在数据库中。

更多信息,请阅读 http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

于 2013-02-04T22:24:24.057 回答
2

你应该在这里查看 Phil Sturgeon 的博客文章

当您有一个需要单独身份验证的整个部分时,扩展 CI_Controller 将为您节省大量代码并使事情变得更加简洁。

于 2013-02-04T22:32:53.483 回答