Обычно у каждого пользователя есть группа прав доступа в зависимости от его роли (администратор, менеджер, продавец и т. Д. c), и все они имеют возможность редактировать свой профиль, но я хочу, чтобы администратор мог редактировать профили всех пользователей.
Функция редактирования выглядит примерно так (я использую Codeigniter)
function edit($id)
{
if(!in_array('editUser'))
{
redirect('home');
}
//rest of the code...
}
Первой мыслью было проверить, был ли идентификатор сессии пользователя, пытающегося редактировать страницу, одинаковым в качестве идентификатора редактируемого пользователя, но это лишает администратора возможности редактировать профили всех пользователей.
Надеюсь, я смогу получить ответ сегодня, спасибо за помощь.
РЕДАКТИРОВАТЬ
Я исправил это, добавив еще одно условие и изменив их на обратное:
function edit($id)
{
if(in_array('editUser', $perms) || $this->session->userdata('id') == $id)
{
//rest of the code...
}else{
redirect('home');
}
}