Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 处理所有权_Php_Codeigniter_Session - Fatal编程技术网

Php 处理所有权

Php 处理所有权,php,codeigniter,session,Php,Codeigniter,Session,这个问题已经困扰了我很长一段时间,关于我如何处理所有权 假设我正在构建一个项目管理应用程序。因此,我将有多个用户将创建多个项目 假设具有user\u id=1的用户创建具有project\u id=1009和project\u id=2349的项目 另一个用户user\u id=21创建项目project\u id=35和project\u id=44 因此,在用户(user\u id=1)登录到网站后,他/她应该只能访问id为1009和2349的项目,并且项目35和44应该只能被user\u

这个问题已经困扰了我很长一段时间,关于我如何处理所有权

假设我正在构建一个项目管理应用程序。因此,我将有多个用户将创建多个项目

假设具有
user\u id=1
的用户创建具有
project\u id=1009
project\u id=2349
的项目

另一个用户
user\u id=21
创建项目
project\u id=35
project\u id=44

因此,在用户(
user\u id=1
)登录到网站后,他/她应该只能访问id为
1009
2349
的项目,并且项目
35
44
应该只能被
user\u id=21
访问

因此,当
user_id=21
查看
example.com/project?id=1009
时,由于他/她没有创建项目,他们应该无法查看/访问该项目

这样检查是正确处理所有权的唯一方法吗

if($project->user\u id==$session\u user\u id){
//我可以访问它
}否则{
//无法访问它

}

在数据库用户项目acl表中创建并保留

用户项目
1 | 1009
1| 2349


并且只加载必要的项目,您永远不需要if station

您可以更具体地说明您的问题是什么吗?而且,我相信,在某个时刻,用户和项目之间的关系不仅仅是一对一的关系。