2010-06-02 64 views
0

在JSF2中實現授權的最佳方式是什麼? through,servlet filter,phase listener或ther是我不知道的新東西?授權在JSF2

+0

http://stackoverflow.com/a/2207147/2214674 – kinkajou 2013-09-05 01:46:27

回答

2

有兩件事:認證和授權。

第一認證:您可以配置您的web.xml以根據url模式執行基於JAAS的認證。或者,如果基於URL的身份驗證對您來說太粗糙,則可以使用PhaseListener手動執行此操作,或者使用HttpServletRequest login()方法(Servlet 3.0中的新手動)執行頁面操作。您可以通過FacesContext.getCurrentInstance().getExternalContext()訪問此方法。

一旦您通過JASS領域認證,您可以考慮基於角色的授權。這裏也有多種選擇:

  1. 您可以根據url-pattern的
  2. 限制在web.xml頁面訪問指定的角色可以使用FacesContext.getCurrentInstance().getExternalContext().isUserInRole("role")在你的後盾,以編程方式訪問當前角色豆。
  3. 您可以基於用戶角色使用表達式語言有條件地渲染視圖中的組件。 (Seam擁有s:hasRole EL表達式,IceFaces擁有renderedOnUserRole屬性,或者您可以從您自己的支持bean中暴露角色)。