Почему мы не встраиваем логику аутентификации (авторизации) в модель MVC? - PullRequest
1 голос
/ 16 октября 2019

Модель в MVC, как говорят, содержит любую бизнес-логику. Если это правда, то, я думаю, аутентификация - это роль модели. «Ваш менеджер может изменить зарплату сотрудника, но вы не можете изменить свою зарплату». это бизнес логика. Таким образом, модель сотрудника должна содержать логику аутентификации, которая проверяет, является ли менеджер сообщениями им управляющим.

Однако логика аутентификации часто обрабатывается контроллером. Почему логика аутентификации не в модели?

1 Ответ

2 голосов
/ 24 октября 2019

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

Вы можете увидеть этот поток, где это обсуждается (объявлениетошнота, и с небольшим количеством snark)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...