Ну, правильное решение зависит от того, как вы собираетесь работать с этими двумя типами пользователей, бухгалтеров и клиентов.Оба варианта разумны, однако я бы остановился на Варианте Б.
Плюсы:
- Вам не нужно беспокоиться о одинаковом входе моделей бухгалтеров и клиентов.При использовании одной и той же формы входа в систему для входа в систему клиентов и бухгалтеров (я сомневаюсь, что для них будет две разные формы входа в систему), контроллер должен будет выяснить, является ли он клиентом или бухгалтером.Может быть неоднозначность, если указанный логин будет в таблице
customers
и accountants
.Когда вы используете только одну таблицу, users
, такой проблемы нет. - Вам не нужно дублировать код, связанный с авторизацией.Рано или поздно, но с 2 разными моделями это неизбежно.Разные представления, разные почтовые шаблоны, иногда разные контроллеры.
- Я не уверен в вашем случае, но один и тот же пользователь может одновременно быть клиентом и бухгалтером.Это больше касается удобства использования, и некоторые приложения действительно разделяют эти учетные записи: у пользователей с двойной ролью есть отдельные учетные записи, один для роли
accountant
и другой для customer
.Как по мне, это не удобно для пользователя, и лучше иметь единый логин с возможностью переключаться между ролями при входе в систему.
С другой стороны, если бухгалтеры и клиенты этого не делаютперекрываются вообще, как обычные пользователи и администраторы, тогда имеет смысл иметь их в разных моделях.Но в этом случае им также потребуются другие интерфейсы, такие же, как панель администратора для администраторов сайта и обычный пользовательский интерфейс для обычных пользователей.