我有填充在Spring MVC應用程序中的模型內容的基礎上,由春季安全管理用戶角色的問題,用戶角色模型。填充基於與Spring MVC和Spring Security的
在我的應用程序(例如簡化)我有定義的兩個角色:ROLE_USER和ROLE_ADMIN。此外,我還有一個頁面,顯示兩個單獨的對象列表:閱讀器(僅適用於ADMIN)和書籍(適用於ADMIN和USER)。
有在JSP頁面中有條件地顯示錶沒有問題,但我需要先準備好模型,我不希望加載讀者名單,如果當前用戶不是ADMIN。我想過在Java代碼中使用Spring EL來確定用戶是否指定角色(hasRole('ROLE_ADMIN')),但我找不到手動評估該代碼的方法。
是否有某種方式來調用春EL處理程序控制器的源代碼,或者可能存在有條件地填充模型,不是在Java代碼中直接檢查角色更好的解決方案(在建築或設計模式級)。
感謝您的建議。不幸的是,你的解決方案都有缺陷,首先在性能上下文中存在問題,其次,對註釋方法的調用將導致安全異常,這不是控制程序流的最明顯的方式。雖然他們都會提供所需的效果,但我正在尋找更清潔的解決方案。 – 2011-04-22 18:45:26
我認爲這將是很好的註釋,如果用戶沒有正確的權限,它會導致方法返回一個預定義的值(在我的情況下是一個空列表),而不執行該方法體。但那只是一廂情願的想法;) – 2011-04-22 18:51:03