Я знаю, что меня раздражают люди, которые упрощают субъективную ситуацию.Но иногда открытое обсуждение сценариев, которые делают ситуацию субъективной, может помочь в принятии решений.Итак, вот мое мнение.
Используете ли вы devise или что-то подобное для аутентификации?Если да, то, вероятно, у вас есть таблицы, созданные в соответствии с требованиями этого драгоценного камня.Если вы посмотрите на разделение интересов, все, что необходимо для системы аутентификации + авторизации, в значительной степени включено в вашу существующую таблицу пользователей.Я хотел бы подойти к нему, спросив - есть ли какая-то польза от объединения данных вашего профиля (особенно если это больше, чем пара текстовых полей) с этой таблицей?Я не вижу ни одного, особенно учитывая тот факт, что профили или пользовательские постоянные данные больше не гарантируют, что они будут состоять из одного изображения и 2-3 текстовых полей.Например, на сайтах социальных сетей профиль может занять свою жизнь.
Кроме того, что произойдет, если ваш сайт взлетит.Если у вас есть активная пользовательская база, которая добавляет / обновляет фотографии, информацию о местоположении и другие данные в профиле, хотите ли вы, чтобы это начало влиять на ваши таблицы аутентификации?Если вы столкнулись с проблемой нехватки ресурсов, ваша последняя проблема может заключаться в автономной системе аутентификации.Но не так, если он был связан со всем, что связано с пользователем.
Итак, да, это зависит от ваших конкретных обстоятельств, но я надеюсь, что мои мысли выше дают вам некоторую ясность о том, почему решение может отличаться в зависимости от типасайта.Если пользователь находится в центре вашей системы, а взаимодействие с пользователем - ключ к профилю (например, социальные сети), определенно подумайте о разделении двух областей.Если профиль пользователя, вероятно, всего одна строка о пользователе, то это не представляет большой проблемы.Если вы делаете это исключительно для обучения, попробуйте оба варианта, потому что у вас будет больше арсенала для будущих задач.