基本上每个用户都有一组基于他们的角色(管理员、经理、卖家等)的权限,他们都可以选择编辑他们的个人资料,但我希望管理员能够编辑每个人的个人资料。编辑功能看起来像这样(我正在使用 Codeigniter)function edit($id){ if(!in_array('editUser')) { redirect('home'); } //rest of the code...}第一个想法是检查尝试编辑页面的用户的会话 id 是否与正在编辑的用户的 id 相同,但这会使管理员无法编辑每个人的个人资料。希望今天能得到答复,谢谢您的帮助。编辑我通过添加另一个条件并反转它们来解决这个问题:function edit($id){ if(in_array('editUser', $perms) || $this->session->userdata('id') == $id) { //rest of the code... }else{ redirect('home'); }}
3 回答
弑天下
TA贡献1818条经验 获得超8个赞
我通过添加另一个条件并反转它们来解决这个问题:
function edit($id)
{
if(in_array('editUser', $perms) || $this->session->userdata('id') == $id)
{
//rest of the code...
}else{
redirect('home');
}
}
抱歉这个愚蠢的问题,但它一直困扰着我一段时间,我终于让它工作了!
慕容森
TA贡献1853条经验 获得超18个赞
登录用户时将角色存储在会话中并进行处理
例如
if($this->session->userdata('role') == 'admin'){
// Show admin folder files
}elseif($this->session->userdata('role') == 'normal_user'){
// Other user folder files
}
谷歌中有很多基于角色的库可用于 Codeigniter 常用库链接
- 3 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消