Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 01.09.2012
Сообщений: 87
1

Размещение авторизации в MVC с использованием ООП – best practices? где?

22.05.2013, 02:45. Показов 3005. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!

Пишу свою MVC (обучения для), без фреймворков. И встал вопрос о регистрации/авторизации. Где и как её лучше всего реализовать?
Проверка на гость/юзвер должна покрывать 100% страниц сайта. Проверка на роль – только в администраторской части.

Исходя из первого напрашивается добавление session_start() прямо в index.php, а проверка на роль – уже в конкретном контроллере. Но затем понадобилось добавить проверку на совпадение хэша (при авторизации он одновременно пишется в куку пользователя и в базу, зависит от ip пользователя, его логина и пароля), а это значит, что надо лезть в Model\User и запрашивать хэш из базы по полю username. Но мне кажется неправильным лезть в модель прямо из точки входа!
Нужен какой-то класс (контроллер же?) с методами вроде $foo->checkMatchWithCookie() / $foo->authorize() / $foo->regNewUser() / ... Тут-то и проблема – не могу понять как его обозвать, а так же в каком месте и как его лучше использовать – в роутере передавать ему управление перед подключением другого нужного контроллера? И, может, сделать его статичным (экземпляры класса не нужны, должен быть доступен везде)? И каким образом в таком случае передавать тексты ошибок в общий view, который создаётся и вызывается только в контроллерах, отвечающих за действия пользователя (читай, дёргает модель с логикой и представление для рендера страницы)?

Направьте, пожалуйста, по нужному пути!

Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2013, 02:45
Ответы с готовыми решениями:

Вывод данных из БД MySQL с использованием MVC и ООП
Здравствуйте. Есть БД testing с таблицей testing с тремя полями: id, FIO, gryppa. Есть файл...

MVC: CRUD подобное API для моделей – best practices?
Доброго времени суток! Долго думал куда постить – в "PHP и ООП" или "Для начинающих" ибо вопрос...

Размещение окошка авторизации
передо мной задача: надо сделать постоянное окошко авторизации на сайт(админом). Я попытался...

Проверка авторизации на сайте, MVC
Доброго времени суток. Вопрос неоднократно поднимался, но я в php новичок, поэтому прошу совета....

4
:)
134 / 134 / 31
Регистрация: 30.03.2013
Сообщений: 428
22.05.2013, 16:52 2
Цитата Сообщение от TrogWarZ Посмотреть сообщение
без фреймворков
Не рекомендую это делать. Делайте с фреймворком, как делают это профи . Рекомендую 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2013, 13:45
Помогаю со студенческими работами здесь

MVC и ООП
Добрый вечер, скажите где можно почитать или посмотреть пример применения паттерна MVC с...

ООП с MVC
Подскажите кто знает. Есть логика в моделе вот код public function get_data() { ...

MVC и ООП
Пытаюсь разобраться с патетрном MVC в стили ООП, и не фига не пойму, если в процедурном стили мне...

Литература ООП и MVC
Здравствуйте, поставил себе цель за лето выучить php, mvc, oop , если есть возможность ссылки на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru