Мне было интересно, где логика входа пользователя находится в типичном приложении. В моем текущем приложении кажется, что лучшим местом будет слой UI. Поэтому, если бизнес-уровень портируется на новую платформу (например, WPF на веб-странице), соответствующие платформы будут обрабатывать свою собственную безопасность. Это также, как представляется, соответствует принципам ответственности. Например, мой бизнес-уровень не заботится о том, что пользователь вошел в систему, он заботится только о том, что компонент запросил часть обработанных данных. Аналогично, мой пользовательский интерфейс определенно заботится о том, что пользователь зарегистрирован, потому что он должен знать, какие элементы управления или действия сделать видимыми.Где находится логика входа в систему? 3-Tier Application
Проблема заключается в регистрации пользователя, требующего доступа к слою данных. которые, очевидно, не имеют слоя пользовательского интерфейса.
Если я поместил компонент входа пользователя в общий «общий» проект, возникнут круговые зависимости.
Является ли лучшая практика действительно логикой входа пользователя в бизнес-уровень?
Меня интересуют только обычные шаблоны практики или ваши рассуждения о том, что они есть в слое пользовательского интерфейса или на уровне бизнеса или наоборот или что-то, о чем я не думал.
Спасибо!
Безопасность/Логин * логика * должны находиться в (бизнес) слой домена; компонент ui для * визуализации * процесс входа в систему представляет собой деталь реализации уровня ui. – Maarten
И вы говорите, что ваш бизнес-уровень не волнует, вошел ли пользователь в систему. Я нахожу это странным, как вы когда-либо собираетесь реализовать какую-либо аутентификацию или авторизацию? Я бы сказал, что знание того, какой пользователь входит в систему, является важной частью применения любой безопасности, которая определяется правилами * busines *, которые должны быть определены на уровне домена/бизнеса. – Maarten