php - 如何在 Ion Auth Codeigniter 上根据用户权限显示记录
问题描述
我将根据用户权限显示记录。例子:
用户Husni = 只能访问记录Gegerkalong和Isola,用户Iman = 只能访问记录SARIJADI和SUKARASA,然后 管理员= 可以访问表上的所有记录。
下面是我使用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>';
} ?>
解决方案
没有真正的理由拥有权限层次结构(我认为您可能会将身份验证与 ACL 混合使用,这很容易做到)。
设置 Ion_auth 以便一个用户可以拥有多个组 - 例如,您的所有用户都可以拥有一个成员记录,然后每个子组都有一个单独的记录。
每个控制器入口点都简单地说明允许或不允许哪些组 - 它对待它们都是一样的。
此外,您可以根据用户所属的组动态显示数据。
推荐阅读
- python - Discord.py 设备温度命令
- typescript - 通用图形数据结构类的打字稿类型安全
- git - 没有我的密码,如何 git push to master?
- java - 使用java流的字母大小写排列
- google-cloud-platform - 如何对传入流量强制执行 https-only
- c# - WinForms C# xl.Visible 和 xl.UserControl 命令无法正常工作
- amazon-web-services - 在 Cloud Formation 中创建然后更改资源
- python - Python:附加系统路径以导入模块
- python - 使用不同参数时生成重复数据
- asp.net - ASP.NET Core 在视图中将字节数组转换为 svg 图像