2012-04-12 1 views
0

Иногда меня немного беспокоит, как делать что-то в Cake. Поэтому я хотел бы получить ваше мнение по следующему варианту использования:CakePHP 2.0 -> Должен ли я использовать CustomAuthorization или написать логику в контроллере

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

Конечно, это легко закодировать в контроллере, но я также изучаю эту логику как класс CustomAuthentication. Затем класс CustomAuthentication обрабатывает всю описанную выше логику, поэтому создает пользователя, если запись не существует, а также дает полезную обратную связь на основании того, был ли пользователь подтвержден нами или если он уже проверил свой адрес электронной почты.

Итак, было бы лучше создать скудный контроллер с классом пользовательской проверки подлинности ... или эта логика лучше написана в самом контроллере.

В целом: Есть ли какое-то место, где я могу найти информацию о лучших практиках использования фреймворков MVC ... Мне часто приходится беспокоиться о том, где разместить код.

ответ

0

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

Что касается лучших практик, то я только что узнал, что каждый компонент (контроллер, модель, представление, источник данных, компонент, поведение, помощник и т. Д.) .). Когда дело доходит до него, просто спросите, является ли это логикой компоновки, бизнес-логикой или логикой подключения, и это должно указывать на нужное место (View, Model, Controller соответственно). Я уверен, что есть много ресурсов, которые могут вам помочь, поэтому не исключено. Что касается Cake, если у вас есть вопросы относительно правильного места, чтобы положить вещи, проверьте #cakephp в IRC. Люди обычно там, чтобы указать вам в правильном направлении.

+0

Я думаю, вы имеете в виду «Аутентификация» - поскольку авторизация - это все «после», вошедшей в систему (доступ на основе ролей). кроме этого ничего не добавить здесь. но ОП уже начинал с неправильного имени - так что в конце концов это источник непонимания здесь. – mark

+0

Да, да. Ничего себе, что опечатка ха. Спасибо, я обновил ответ. – jeremyharris

+0

Я тоже редактировал свой OP ... В то же время я создал класс авторизации, мне кажется очень сухим ... но я до сих пор не знаю, как определить, что лучше всего подходит для конкретных проблем. Я проверю IRC, спасибо. Edit: btw, основная причина, по которой я хотел сделать что-то другое, заключается в том, что для каждой регистрации ошибок мне приходилось проверять массив и устанавливать отдельное флеш-сообщение ... Я в основном хотел получить все эти сообщения в одном месте. –

 Смежные вопросы

  • Нет связанных вопросов^_^