Php 如何限制登录用户在codeigniter中查看其他URL

Php 如何限制登录用户在codeigniter中查看其他URL,php,codeigniter,Php,Codeigniter,如何限制用户不查看其他人的数据。 例如,此url中有一个用户数据 http://example.com/abc/xyz/1 我想停止访问 http://example.com/abc/xyz/2 我可以用普通的php东西来阻止它,但我想知道codeigniter中有什么东西可以做到这一点。不,您需要在控制器中使用自己的代码来处理这个问题 class Abc Extends CI_Controller { public function xyz($var) { if($v

如何限制用户不查看其他人的数据。 例如,此url中有一个用户数据

http://example.com/abc/xyz/1

我想停止访问

http://example.com/abc/xyz/2


我可以用普通的php东西来阻止它,但我想知道codeigniter中有什么东西可以做到这一点。

不,您需要在控制器中使用自己的代码来处理这个问题

class Abc Extends CI_Controller {

    public function xyz($var) {
        if($var != some_condition_based_on_user)
            show_some_error();
    }
}

例如,您可以检查用户的id。登录时,将用户id保存到会话中,类似于登录时模型功能中的内容:

$this->session->set_userdata(array('user_id' => $user['id']);
进入函数后,您可以检查get值是否与会话相同,如下所示:

public function xyz($id) {
        if($id != $this->session->userdata('user_id')){
           //code error
        }
}

我知道这件事,但我不能在会话中保存很多东西,它不是一个id。它也可以是产品id。实际上,它应该是
class Abc
;)