首页 > 解决方案 > 如何在 Ion Auth Codeigniter 上根据用户权限显示记录

问题描述

我将根据用户权限显示记录。例子:

用户Husni = 只能访问记录GegerkalongIsola,用户Iman = 只能访问记录SARIJADISUKARASA,然后 管理员= 可以访问表上的所有记录

下面是我使用Ion Auth Codeigniter的代码:

<?php 
    $grup_id = 2;
    $husni_id = 16;
    $iman_id = 17;
    if ($this->ion_auth->in_group($grup_id, $husni_id)){ 
      echo
    '<div class="form-group">
      <select type="select" name="kelurahan_txt" id="kelurahan_txt" class="form-control" style="text-transform:uppercase" placeholder="Kelurahan" value="" />
              <option value="">Pilih Kelurahan</option>
              <option value="GEGERKALONG">Gegerkalong</option>
              <option value="ISOLA">Isola</option>
        </select>
    </div>';
   }elseif ($this->ion_auth->in_group($grup_id, $iman_id)){ 
      echo
    '<div class="form-group">
      <select type="select" name="kelurahan_txt" id="kelurahan_txt" class="form-control" style="text-transform:uppercase" placeholder="Kelurahan" value="" />
              <option value="">Pilih Kelurahan</option>
              <option value="SARIJADI">SARIJADI</option>
              <option value="SUKARASA">SUKARASA</option>
        </select>
    </div>';
   } else { 
    echo '<div class="form-group">
      <select type="select" name="kelurahan_txt" id="kelurahan_txt" class="form-control" style="text-transform:uppercase" placeholder="Kelurahan" value="" />
              <option value="">Pilih Kelurahan</option>
              <option value="GEGERKALONG">Gegerkalong</option>
              <option value="ISOLA">Isola</option>
              <option value="SARIJADI">Sarijadi</option>
              <option value="SUKARASA">Sukarasa</option>
        </select>
    </div>';
   } ?>

标签: phphtmlcodeigniter

解决方案


没有真正的理由拥有权限层次结构(我认为您可能会将身份验证与 ACL 混合使用,这很容易做到)。

设置 Ion_auth 以便一个用户可以拥有多个组 - 例如,您的所有用户都可以拥有一个成员记录,然后每个子组都有一个单独的记录。

每个控制器入口点都简单地说明允许或不允许哪些组 - 它对待它们都是一样的。

此外,您可以根据用户所属的组动态显示数据。


推荐阅读