Любая причина, почему в Ruby on Rails не встроена стандартная система аутентификации пользователей? - PullRequest
3 голосов
/ 27 февраля 2011

Этот вопрос направлен на понимание RoR и рамок в целом.Похоже, у RoR никогда не было стандартной системы аутентификации пользователей.Была ли это просто историческая причина (просто так произошло естественно) ... или это могло быть преднамеренно?Поскольку RoR - это инструмент для создания веб-сайтов, чаще всего аутентификация пользователей является важной частью веб-сайта.

Чтобы представить его в перспективе, возникает другой вопрос: используйте другие популярные фреймворки, Django, Symfony, CakePHPвстроена аутентификация пользователя?

Ответы [ 6 ]

5 голосов
/ 27 февраля 2011

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

Например, рассмотрим следующие две ситуации:

  • блог, в котором есть один администратор с защищенными паролем инструментами для администрирования
  • такой сайт, как YouTube, который позволяет пользователям регистрироваться и администрировать собственный контент

Для обоих этих сайтов потребуются совершенно разные системы аутентификации; Какая из этих систем должна обслуживать Rails из коробки?

3 голосов
/ 27 февраля 2011

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

Некоторые примеры: Warden и плагин Rails Warden , Devise , Authlogic и Restful Authentication .

1 голос
/ 27 февраля 2011

CakePHP имеет встроенный Аутентификационный компонент, который довольно прост и прост в реализации.

0 голосов
/ 27 февраля 2011

Я немного программировал на Rails и CakePHP, и я могу сказать, что Rails не нужно предоставлять такой механизм, как этот.Сообщество очень, очень хорошее, и есть много примеров (уже сказано, как Devise, Authlogic ...), сделанных очень хорошими программистами.Конечно, есть много онлайн-уроков (а также Railscasts, которые просто потрясающие), чтобы запрограммировать успешную настройку для вашего проекта.Итак, если у нас есть все это, зачем нам нужен что-то вроде механизма cakePHP?Это нормально, это работает, но есть просто очень хороший учебник, и это все (и, может быть, достаточно ..).Так что, в конце концов, если у вас хорошее сообщество, вам не нужно заботиться о ядре технологии, всегда найдется кто-то более опытный с вашими потребностями, который сделает это за вас.И если вы не найдете его, сделайте это самостоятельно, и в процессе вы найдете большую помощь!:)

0 голосов
/ 27 февраля 2011

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

0 голосов
/ 27 февраля 2011

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

...