Аутентификация пользователя с помощью CodeIgniter - PullRequest
13 голосов
/ 19 января 2009

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

Ответы [ 7 ]

10 голосов
/ 07 июля 2010

«Ion Auth» - это тонкий, хорошо запрограммированный, несколько широко используемый и активно поддерживаемый.

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

8 голосов
/ 19 января 2009

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

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

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

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

3 голосов
/ 19 января 2009

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

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

0 голосов
/ 23 октября 2017

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

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

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

0 голосов
/ 17 мая 2015

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

0 голосов
/ 09 февраля 2009

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

0 голосов
/ 25 января 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...