在笨控制用户权限(Controlling User Privileges in Codeignite

2019-09-16 15:47发布

假设我建立使用笨的Web应用程序。 我有用户两个层面1. Admin2. Manager 。 我想我的管理能在我有以下我认为文件中添加,编辑,删除,所以:

<a href="somelink">ADD</a>
<a href="somelink">EDIT</a>
<a href="somelink">DELETE</a>

但在某些特定的网页,我不希望我的经理能够删除或编辑任何记录,他将被允许只添加数据。 现在的问题是,因为我有多种类型的用户和用户权限,我必须创建一个新的控制器和我的经理视图文件(和对方用户级别),或者有一些更好的方法在同一处理这控制器和我将使用的管理视图文件?

目前我创造了我的管理和管理者,这是非常痛苦的单独的控制器,模型和视图文件。 所以我觉得有必须是一个更好的方式来做到这一点。

请你给我一些关于如何处理这个您的专家意见?

要弄清楚什么用户类型被记录在我用我的控制器下面的代码:

 parent::__construct();
    if ( !($this->session->userdata('user_type')== 'flex_admin'))
    { 
        redirect('login');
    }

提前致谢 :)

Answer 1:

你最肯定不需要创建单独的控制器和视图。

你可以存储用户权限类型(1或2)在一个会话,然后做在每个控制器或意见的检查,以检查用户的权限。

一个导航的视图中的文件的一个示例

<div id="nav">
  <ul>
    <li>Home</li>
    <li>Logout</li>
    <?php if($this->session->userdata('privilege') == 1) : ?>
      <li>Delete</li>
    <?php endif; ?>
  </ul>
</div>

你可以在你的控制器进行同类的检查,以确保用户的访问是适当的进行一些功能。



文章来源: Controlling User Privileges in Codeigniter