Библиотека аутентификации PHP, как ее собрать и настроить? - PullRequest
0 голосов
/ 25 февраля 2012

Название может быть не таким ясным, но я объясню, в чем моя проблема.Я строю PHP MVC Framework для моего проекта.Я знаю, что есть потрясающие фреймворки PHP, но я люблю кодировать, и я делаю это, чтобы узнать больше о PHP и MVC и других шаблонах ООП.Он прекрасно работает, по крайней мере, компоненты, которые я построил до сих пор.

Я использую PHP 5.3 и пространства имен, поэтому я могу требовать / загружать классы на основе их пространств имен / имен.Я построил класс загрузчика классов SPR-0, и он позволяет мне использовать другие библиотеки, которые используют «стандартные» / условные обозначения SPR-0, такие как компоненты Doctrine или Symfony2 внутри моей среды.И вся функциональность самого фреймворка, я называю его Core, написана как компонент.Поэтому у меня есть класс \ Core \ Controller \ Controller () или класс \ Core \ Router \ Dispatcher () или класс \ Filesystem \ FileManager ().Поэтому я использую их там, где они мне нужны.И компоненты Core позволяют мне добавлять маршруты, обнаруживать их, вызывать соответствующий контроллер / действие и т. Д. ... для создания MVC.

И теперь мне нужен модуль аутентификации, чтобы проверить, вошел ли пользователь на защищенные страницы.Как мне это настроить?Самая большая проблема заключается в том, как сообщить модулю аутентификации, какие таблицы использовать?Где найти имена пользователей и где найти пароли?Как настроить модуль аутентификации, чтобы он знал, где искать имя пользователя и пароль?Я мог бы настроить таблицу пользователей в базе данных и никогда не изменять ее, а затем указать Аутентификации, где найти то, что ему нужно.Но что, если в следующем проекте я хотел бы использовать другой дизайн базы данных, и я хотел бы использовать строку электронной почты вместо имени пользователя?

Надеюсь, вы понимаете, что беспокоит меня ...

КороткоВопрос в том, как настроить класс / модуль аутентификации, чтобы вы могли настроить его позже, чтобы использовать другие строки для извлечения данных, и насколько гибким может быть этот класс в зависимости от конфигурации?Должен ли я сопоставить где-нибудь в конфигурации эту переменную username с именем пользователя строки таблицы user, чтобы я мог сменить его на email?Как построить гибкую и настраиваемую библиотеку Auth?

Вопрос длинный, спасибо, что прочитали ...

1 Ответ

0 голосов
/ 25 февраля 2012

Если я вас правильно понимаю, вы хотите иметь возможность выбирать разные таблицы БД для Auth в зависимости от того, в каком проекте вы работаете ...

Ну, почему бы вам не создать файл конфигурации , который первым прочитал бы фреймворк?

Это то, что я думаю о других фреймворках. Вы предоставляете host, dbname, user и так далее ... В вашем случае, помимо этого, вы напишите в конфигурации, какие таблицы и поля использовать для аутентификации / авторизации?

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