2013-07-27 2 views
0

Создание автономного приложения с помощью codeigniter. Приложение используется для хранения данных клиента. Я использовал метод codeigniter hmvc. и теперь у меня есть около восьми модулей в моем приложении, таких как шаблоны, поиск, клиент, пользователь и т. д. Модуль userer проверяет подлинность администратора. В будущем количество модулей увеличится.Перенаправление контроллеров модулей на один конкретный контроллер в кодировщике HMVC

Теперь, чтобы проверить, зарегистрирован ли пользователь как администратор, я использовал этот кусок кода в каждом модуле в функции __construct() без шаблонов и пользовательских модулей, потому что, когда я пытаюсь поместить этот код в шаблоны или в пользовательский контроллер, тогда firefox говорит Page could not be redirected properly

if(!$this->session->userdata('user_type')){ 
    redirect(base_url().'users/login'); 
} 

наклеивая этот кусок кода для шаблонов и пользователей модуля создает проблему. когда я удаляю этот код, тогда все работает нормально. так как пользователь может все еще использовать шаблоны и пользовательские модули без входа в систему.

Я просто хочу знать, что если есть лучший способ сделать это, не вставляя этот кусок кода в каждый контроллер или не заставляя гостя не получать доступ к каким-либо модулям или методам без входа в систему.

+0

Я обновляю свой ответ –

+0

Задать вопрос. Поместите код входа в систему. Я постараюсь вам помочь! –

ответ

0

Если вы HMVC пользователь, чем вы можете сделать это следующим образом:

if(!$this->session->userdata('user_type')){ 
    redirect('module_name/users/login'); // change module_name with your module name 
} 

UPDATE: Может быть, вы перенаправлять на одной странице, которая перенаправляет также ... и поставить на петли

+0

извините, но ни одно из перенаправляемых работает ... – shahriar31

+0

Проверьте, все ли в порядке с именами файлов и путей, потому что я использую его каждый день, и он работает. Я всегда использую HMVC и перенаправляю таким образом и работает. –

+0

Конечно, он работает над остальными модулями, как шарм. Я нахожусь на своем конце, почему он не работает для шаблонов и пользователей. кстати, я использовал модули шаблонов в каждом модуле! ? – shahriar31

0

Если вы указали полный адрес сайта, в перенаправлении есть уже путь без использования base_url()
попробовать это:

if(!$this->session->userdata('user_type')){ 
    redirect('/users/login'); 
} 
+0

извините, но ни один из перенаправляемых работает ... я пробовал много методов. но вставляя эту часть кода в шаблоны и модули пользователей, создавая проблему – shahriar31

+1

Какая ошибка возвращается? @ shahriar31 –

+0

Страница не перенаправляется должным образом Firefox обнаружил, что сервер перенаправляет запрос на этот адрес таким образом, который никогда не будет завершен. – shahriar31