Библиотека Codeigniter IonAuth — перенаправление после входа члена группы

Я только что использовал и установил IonAuth в своем приложении Codeigniter.

Я настроил 3 группы пользователей..

Администратор
Участники
Информационные партнеры

Можно ли будет перенаправить каждую группу пользователей в их уникальную панель инструментов, а не на домашнюю страницу?

e.g.

администраторы входят и перенаправляются на => /admin/dashboard/
участники входят и перенаправляются на => /users/dashboard/
медиа-партнеры входят и перенаправляются на => /media-info/dashboard/

Как мне это сделать в моем контроллере авторизации?

Спасибо, Дэн


person Dan C    schedule 11.08.2010    source источник


Ответы (2)


В вашей функции входа проверьте группу и перенаправьте соответственно.

function login () 
{
    //Login code
    ...
    //Login Successful
    $user = $this->ion_auth->get_user(); 

    switch ($user->group)
    {
        case ('admin'):
            redirect(site_url('admin/dashboard'), 'refresh');
        break;
        case ('user'):
            redirect(site_url('users/dashboard'), 'refresh');
        break;
        case ('media'):
            redirect(site_url('media-info/dashboard'), 'refresh');
        break;
    }

    ...
}
person Dyllon    schedule 11.08.2010
comment
Это работает, но почему у вас есть скобки вокруг строки case? Нет необходимости :) Кроме того, зачем устанавливать обновление? Этого тоже делать не нужно. - person Phil Sturgeon; 02.01.2011
comment
«Обновить» — это синтаксис, используемый ion auth, поэтому, по крайней мере, он соответствует теме. Кроме того, согласно документам CI, метод перенаправления «местоположение» по умолчанию иногда может быть проблемой на серверах Windows, поэтому теоретически я полагаю, что таким образом код более переносим, ​​если вы застряли на одном из этих серверов. - person colonelclick; 26.07.2013

вот мой, если кто-то ищет использование функции if

function index()
{
    if (!$this->ion_auth->logged_in())
    {
        // redirect them to the login page
        redirect('auth/login', 'refresh');
    }
    else
    {
    if ($this->ion_auth->in_group('admin'))
    {
        echo "<h1>here is admin</h1>";
    }   
    else if ($this->ion_auth->in_group('user'))
    {
        echo "<h1>here is user</h1>";
    }
    else if ($this->ion_auth->in_group('media'))
    {
        echo "<h1>here is media</h1>";
    }
    else
    {
    echo "nothing happen"
    }
}

Надеюсь, это поможет кому-то там,

ПРИМЕЧАНИЕ. Убедитесь, что ваша группа сгруппирована так же, как указано выше.

person Freddy Sidauruk    schedule 23.02.2016