2013-05-04 93 views
0

早上好,我在我的項目中有一個用例,說If the user isn't logged in to the application display a warning message to him和什麼決定了用戶是否登錄是一個名爲loginPageCode的託管bean,業務邏輯層中的一個類將負責確定用戶登錄或不是爲了做出顯示消息的決定(當在JSF頁面中發生特定動作時調用home.jsf),我想到了2種方法來做到這一點,如下所示:業務邏輯層處理其鄰居的適當方式?

  1. 使主頁確定用戶是否登錄並將最終決定通過業務邏輯類
  2. 使業務邏輯類負責確定用戶是否已登錄並需要它直接處理loginPageCode

我想知道從設計角度來說這樣做的合適方法。

+0

也許你應該考慮使用一些特殊的組件,如[SpringSecurity](http://static.springsource.org/spring-security/site/)。這可以給你一個強大的解決方案。 – dratewka 2013-05-04 16:01:52

回答

0

如果業務邏輯層需要知道用戶是否已登錄,則應該將該信息作爲參數傳遞。

業務層不需要知道如何如果用戶需要知道用戶是否已登錄,那麼應該給出該信息 - 這是您的擔憂! :)

主要思想是,即使在完全不同的環境中,例如使用不同的身份驗證機制,也可以始終重複使用相同的業務規則。