Аутентификация пользователя с помощью CodeIgniter

Я пишу веб-приложение с использованием PHP. Я хочу использовать шаблон MVC для этого и решил пойти с CodeIgniter . Мое приложение будет иметь некоторые страницы, для которых потребуется аутентификация, а некоторые страницы – нет. Я хочу создать это очень универсальным образом, чтобы не было дублирования кода. Может ли кто-нибудь указать на хорошую «конструкцию / класс» для этого?

Напишите пользовательскую библиотеку, которую вы можете автозагрузите в приложении для воспламенения кода на каждом просмотре страницы. Он должен иметь функции, которые:

  • Аутентификация пользователя, т.е. проверьте, зарегистрирован ли пользователь или нет
  • Войдите в систему, т.е. установить переменную сеанса или что-то еще
  • Выйти

Затем в классах контроллеров вы можете выполнить вызов функции аутентификации в конструкторе, тогда в зависимости от результата продолжить как обычно или перенаправить их на экран входа в систему с сообщением об отказе доступа.

Сделайте поиск в викторине для воссоздания кода для «проверки подлинности», и есть ряд результатов, которые могут помочь: http://codeigniter.com/wiki/

«Ион Аут» – тощий, хорошо запрограммированный, несколько широко используемый и активно поддерживается.

http://github.com/benedmunds/CodeIgniter-Ion-Auth

Если под «некоторыми страницами» вы подразумеваете некоторые контроллеры (шлюз к вашим представлениям), тогда вы можете изучить наследование контроллера. Расширьте контроллер CodeIgniter по умолчанию и проверите проверку подлинности в конструкторе (проверьте сеанс для зарегистрированного флага или что-то еще, а если не войти в систему, перейдите на страницу входа). Затем все контроллеры, требующие аутентификации, должны будут расширить ваш новый родительский контроллер. Вот и все.

Перейдите на форумы CodeIgniter и найдите несколько способов расширения контроллера. Вот один http://codeigniter.com/forums/viewthread/89768/#452890

Возможно, вы можете использовать библиотеку CL_AUTH для CI. Я использовал его, и он работает хорошо. Вы можете найти его здесь http://www.jasonashdown.co.uk/cl_auth_doc/

Недавно я изучал то же самое, и я нашел вилку CodeIgniter под названием Kohana, которая включает в себя хороший модуль аутентификации . Если вы настроены на CI, возможно, адаптировать модуль auth Kohana назад к CI, вы сэкономите время? Если вы только что начали свой проект и PHP5 в порядке, подумайте о переходе; они очень похожи.

Посетите GitHub и найдите Codeigniter Auth или Authentication, или проверьте CodeIgniter Wiki , вы найдете множество библиотек с различными функциями. Изучите их и выберите тот, который вам нужен! Но будьте осторожны, многие из них относятся к CI 2, и вы должны сначала использовать классы с CI 3, иначе они вообще не работают.

Используйте flexi auth модифицированную версию популярной библиотеки Ion Auth . Он более продвинутый и делает всю работу готовой.

flexi auth – бесплатная библиотека аутентификации пользователей с открытым исходным кодом для использования с картой CodeIgniter 2.0+.

Я знаю, что уже слишком поздно, но я надеюсь, что кто-то найдет это полезным. Ура!