迄今爲止,我所見過的所有Java EE授權技術都只針對視圖層 - 主要基於JSF。您基本上限制對某些URL模式或JSF組件的訪問。基於Java EE的基於服務的安全
但是,我寧願在服務上有我的安全層。我的層看起來像這樣:
- 視圖(XHTML + JSF支持bean/RESTful Web服務)
- 服務
- 實體和業務邏輯
- 的DAO
由於服務是我業務邏輯的代理,並且不包含任何邏輯,我想用它們來訪問控制。這樣我就不需要單獨爲每個視圖技術實現安全性,也不需要注意URL模式(這些模式很難維護)。
我的首選解決方案是對服務上的類或方法的註釋。如果一些視圖代碼試圖在未經許可的情況下訪問它們,它會得到一個異常(該異常被處理並應轉發到登錄表單)。
有什麼這樣的我可以使用?
''用戶認證和授權的主要內置機制是[J](JAAS).' 否;認證和授權由單個規範的安全模型提供,其中主要使用的(Servlet,EJB)既不是「構建」在頂層,也不是強制甚至不建議其實現依賴於JAAS。如果他們這樣做,這是一個實現細節,Java EE應用程序開發人員不需要關心。如果OP需要額外的功能,則可以使用Java EE特定的標準SPI(JASPIC,JACC)。 – Uux