CodeIgniter用户访问

时间:2017-02-13 04:22:04

标签: mysql codeigniter

我需要帮助,我给每个页面的值都是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     |

1 个答案:

答案 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函数获取控制器/操作。