Я пишу веб-приложение с использованием PHP. Я хочу использовать шаблон MVC для этого и решил пойти с CodeIgniter. Мое приложение будет иметь некоторые страницы, для которых потребуется аутентификация, а некоторые страницы - нет. Я хочу создать это очень универсальным образом, чтобы не было дублирования кода. Может ли кто-нибудь указать на хорошую "конструкцию/класс" для этого?
Аутентификация пользователя с помощью CodeIgniter
Ответ 1
Напишите пользовательскую библиотеку, которую вы можете автозагрузите в приложении для запуска кода на каждом просмотре страницы. Он должен иметь функции, которые:
- Аутентификация пользователя, т.е. проверьте, зарегистрирован ли пользователь или нет.
- Войдите в систему, т.е. установить переменную сеанса или что-то
- Выйдите из системы
Затем в классах контроллеров вы можете выполнить вызов функции аутентификации в конструкторе, а затем в зависимости от результата продолжить как обычно или перенаправить их на экран входа с сообщением об отказе доступа.
Сделайте поиск в викторине для воссоздания кода для "проверки подлинности", и есть ряд результатов, которые могут помочь: http://codeigniter.com/wiki/
Ответ 2
"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+.
Я знаю это слишком поздно, но я надеюсь, что кто-то еще найдет это полезным. Ура!