2 / 2 / 0
Регистрация: 01.09.2012
Сообщений: 87
|
|
1 | |
Размещение авторизации в MVC с использованием ООП – best practices? где?22.05.2013, 02:45. Показов 3005. Ответов 4
Метки нет (Все метки)
Доброго времени суток!
Пишу свою MVC (обучения для), без фреймворков. И встал вопрос о регистрации/авторизации. Где и как её лучше всего реализовать? Проверка на гость/юзвер должна покрывать 100% страниц сайта. Проверка на роль – только в администраторской части. Исходя из первого напрашивается добавление session_start() прямо в index.php, а проверка на роль – уже в конкретном контроллере. Но затем понадобилось добавить проверку на совпадение хэша (при авторизации он одновременно пишется в куку пользователя и в базу, зависит от ip пользователя, его логина и пароля), а это значит, что надо лезть в Model\User и запрашивать хэш из базы по полю username. Но мне кажется неправильным лезть в модель прямо из точки входа! Нужен какой-то класс (контроллер же?) с методами вроде $foo->checkMatchWithCookie() / $foo->authorize() / $foo->regNewUser() / ... Тут-то и проблема – не могу понять как его обозвать, а так же в каком месте и как его лучше использовать – в роутере передавать ему управление перед подключением другого нужного контроллера? И, может, сделать его статичным (экземпляры класса не нужны, должен быть доступен везде)? И каким образом в таком случае передавать тексты ошибок в общий view, который создаётся и вызывается только в контроллерах, отвечающих за действия пользователя (читай, дёргает модель с логикой и представление для рендера страницы)? Направьте, пожалуйста, по нужному пути! Спасибо.
0
|
22.05.2013, 02:45 | |
Ответы с готовыми решениями:
4
Вывод данных из БД MySQL с использованием MVC и ООП MVC: CRUD подобное API для моделей – best practices? Размещение окошка авторизации Проверка авторизации на сайте, MVC |
:)
134 / 134 / 31
Регистрация: 30.03.2013
Сообщений: 428
|
|
22.05.2013, 16:52 | 2 |
Не рекомендую это делать. Делайте с фреймворком, как делают это профи . Рекомендую Yii - очень эффективный. Реализация авторизации в Yii гуглится легко
1
|
2 / 2 / 0
Регистрация: 01.09.2012
Сообщений: 87
|
|
22.05.2013, 20:18 [ТС] | 3 |
PlumBoom, блин. Почему в каждом топике с вопросом обязательно говорят про фреймворки? Знаю, знаю, что на продакшн нужно изучить какой-то фв и не писать свой велосипед.
Но сейчас вопрос про архитектуру, мне необходимо понимание – ради обучения. Более подробно я описал причину в этом комментрии в соседней ветке, но там вопрос отсюда – оффтопик.
0
|
:)
134 / 134 / 31
Регистрация: 30.03.2013
Сообщений: 428
|
|
23.05.2013, 11:45 | 4 |
В отображении форма авторизации. В контроллере - проверка введенных данных. В моделе - обновление данных и т.д.
При входе на сайт установи куки и проверяй: авторизирован юзер или нет.. Как-то так
0
|
2 / 2 / 0
Регистрация: 01.09.2012
Сообщений: 87
|
|
23.05.2013, 13:45 [ТС] | 5 |
Где именно в коде это должно быть? Отдельный класс и если да, то какой?
Нормально ли прямо в index.php писать строку с session_start()? Авторизация сейчас у меня в Controllers\Auth (страница авторизации), внутри которого логика, сами данные (логин, пас, хэш) берутся из Models\User, а затем результат отправляется в View\View. Проверка авторизации на странице админки – просто if..else по условию $user->role==='admin'. Это всё нормально для MVC небольшого, например, магазина или блога? Всмысле, по правильному пути иду или куда-то уже не туда свернул? (:
0
|
23.05.2013, 13:45 | |
23.05.2013, 13:45 | |
Помогаю со студенческими работами здесь
5
MVC и ООП ООП с MVC MVC и ООП Литература ООП и MVC Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |