我需要帮助,我给每个页面的值都是1,所以如果没有值1的页面无法与其他用户访问,我需要的是什么
我的逻辑是这样的:
<li class="treeview">
<a href="#">
<i class="fa fa-gears"></i> <span>User Setting</span> <i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="<?= $this->config->base_url() ?>changepassword?f=1"><i class="fa fa-circle-o"></i> Change Password</a></li>
<li><a href="<?= $this->config->base_url() ?>infouser"><i class="fa fa-circle-o"></i> Info User</a></li>
</ul>
</li>
如果没有访问权限的用户B想要打开页面changepassword.php禁用,因为在数据库访问中他们没有值1但是0。
但是他们可以打开页面infouser.php导致值不是1
任何人都可以使用codeigniter给我逻辑,我的数据库就像这样:
no | UID | PWD | access |
1 | user A | user A | 11 |
2 | user B | user B | 10 |
答案 0 :(得分:1)
嗯,您需要创建ACL功能。
您需要在其中创建数据透视表。
id (int) 11
user_id (int) 11
controller (text)
action (text)
数据库记录可以是:
| 1 | 3 | users | dashboard |
| 1 | 3 | users | profile |
| 1 | 3 | users | password |
您可以创建一个界面来使用允许的控制器/操作来更新用户
通过这种方式,您可以允许用户访问各自的操作。
要获取权限,您需要使用当前用户ID运行查询,并从URL或getRoutes函数获取控制器/操作。