Как разрешить нужным людям доступ к этой функции? - PullRequest
0 голосов
/ 11 марта 2020

Обычно у каждого пользователя есть группа прав доступа в зависимости от его роли (администратор, менеджер, продавец и т. Д. 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');
 }
}

Ответы [ 3 ]

1 голос
/ 11 марта 2020

Я исправил это, добавив еще одно условие и поменяв их местами:

function edit($id)
{
 if(in_array('editUser', $perms) || $this->session->userdata('id') == $id)
 {
  //rest of the code...
 }else{
  redirect('home');
 }
}

Извините за тупой вопрос, но он меня давно беспокоил, и я наконец-то заставил его работать!

1 голос
/ 11 марта 2020

Сохранение роли в сеансе при входе пользователя в систему и ее обработка.

Например,

    if($this->session->userdata('role') == 'admin'){
      // Show admin folder files 
    }elseif($this->session->userdata('role') == 'normal_user'){
    // Other user folder files 
   }

В google доступно множество библиотек ролей для Codeigniter Часто используемая библиотека ссылка

0 голосов
/ 12 марта 2020

вы можете управлять как контроллером , так и просмотром страницы

этим методом

{ ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...