基本上每个用户都有一组基于他们的角色(管理员、经理、卖家等)的权限,他们都可以选择编辑他们的个人资料,但我希望管理员能够编辑每个人的个人资料。
编辑功能看起来像这样(我正在使用 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');
}
}
弑天下
慕容森
墨色风雨