Подходящий способ взаимодействия уровня бизнес-логики со своими соседями?

Доброе утро, у меня есть вариант использования в моем проекте, в котором говорится, что If the user isn't logged in to the application display a warning message to him и то, что определяет, вошел ли пользователь в систему или нет, является управляемым компонентом с именем loginPageCode, класс на уровне бизнес-логики будет отвечать за определение того, является ли пользователь вошел в систему или нет, чтобы принять решение об отображении сообщения (это действие будет выполнено, когда на странице JSF с именем home.jsf произойдет определенное действие), я подумал о двух подходах для этого следующим образом:

  1. Заставьте домашнюю страницу определять, вошел ли пользователь в систему или нет, и передайте окончательное решение классу бизнес-логики.
  2. Сделать класс бизнес-логики ответственным за определение того, вошел ли пользователь в систему или нет, и это потребует, чтобы он имел дело непосредственно с loginPageCode

я хочу знать подходящий способ сделать это с точки зрения дизайна.


person Java Player    schedule 04.05.2013    source источник
comment
Возможно, вам следует рассмотреть возможность использования для этого некоторых специализированных компонентов, таких как SpringSecurity. Это может дать вам надежное решение.   -  person dratewka    schedule 04.05.2013


Ответы (1)


Если уровню бизнес-логики необходимо знать, вошел ли пользователь в систему, вы должны просто передать эту информацию в качестве аргумента.

Бизнес-уровню не нужно знать, КАК пользователь аутентифицирован, если ему нужно знать, вошел ли пользователь в систему, ему должна быть предоставлена ​​эта информация - это разделение задач для вас! :)

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

person Elias Dorneles    schedule 05.05.2013