Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

"Ion Auth" является скудным, хорошо запрограммированным, несколько широко используемым и активно поддерживается.

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

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