我隱藏了一些鏈接在我的webapp取決於用戶角色...現在,例如我隱藏鏈接sample.jsp在我的用戶角色等於1. Ofcourse這將隱藏,但如果此用戶知道他可以鏈接最終去那個鏈接...如何配置這個?如何在JSP Web應用程序中保護鏈接?
回答
當有人訪問該鏈接指向的URL時,檢查它們是否已通過身份驗證(如果沒有,則向他們顯示登錄頁面),並且如果他們被授權訪問該頁面的用戶被授權訪問該頁面(如果沒有,則顯示他們一個錯誤消息解釋並給他們「以不同的用戶登錄」的形式)。
昆汀建議應該做的,它可能是不夠的,如果你正在開發一個演示應用程序,
但如果你是認真的在實現一個強大的身份驗證和授權,那麼你應該認真地給一個念頭在學習任何開源安全框架。
這可以節省很多頭痛,特別是如果您的自定義爲您的應用程序構建安全性。
首先,選擇一個安全框架,吸引你,如Apache四郎或Spring Security的建議,由Sudhakar。要了解不同的安全框架,您可能會喜歡Matt Raible在2011年的概述:Spring Security和Apache Shiro等等。
接下來,如果您選擇了安全框架,那麼您應該可以非常簡單地關注Quentin的答案。
的非常基本方案將網頁到基於角色的邏輯組(你shiuld有幾個):例如,與路徑/admin/users/edit
(和admin/...
)頁面將着眼於人的作用管理員,/user/order/view
(和user/...
)對於註冊用戶等都是可見的。如果您想爲特定用戶角色提供頁面部分,則需要更高級的設置,例如兩個管理員都可以訪問/user/edit
,但只有當前用戶的角色等於管理員時纔會呈現按鈕刪除。爲了更多地保護應用程序,您選擇的框架應該提供一種基於用戶角色來保護業務邏輯方法的方法。如果您選擇Shiro,可能還會有一些特殊標籤來簡化視圖創建,如<shiro:hasRole>
。
但是,您的情況的基本解決方案是<h:link rendered="#{currentUser.roleOne}"/>
與後盾bean方法public boolean isRoleOne() { return role.equals("1"); }
。當然,它只會隱藏鏈接,但用戶仍然可以通過它的URL訪問該頁面。所以,最終你最終會寫一個Filter的樣板代碼,或者使用一個公認的安全框架提出的解決方案。
- 1. 保護Web應用程序
- 2. 如何在Web應用程序中設置XSRF保護?
- 3. 如何保護在Web應用程序中選定的頁面
- 4. 如何在Web應用程序中保護HTML電子郵件?
- 5. 保護Asp.net Web窗體應用程序
- 6. 保護Web應用程序的WIFI
- 7. 保護iphone + web應用程序
- 8. 如何保護Web應用程序中的PDF文件
- 9. 我應該在Web應用程序中保護UI嗎?
- 10. 如何保存數據庫使用jsp的web應用程序
- 11. 如何開始使用OAuth來保護Web API應用程序?
- 12. 如何使用Azure Web應用程序的XSRF保護
- 13. 如何使用活動目錄組保護Web應用程序?
- 14. 在Weblogic中保護Web應用程序中的URL模式
- 15. 在公共web應用程序上保護web方法
- 16. JSP Servlet Web應用程序
- 17. 如何保護許多java web應用程序
- 18. Web應用程序與OpenAM的安全性如何保護
- 19. 如何保護ASP.NET MVC Web應用程序?
- 20. 如何保護我的Java Web應用程序?
- 21. 如何保護web應用程序配置文件
- 22. 如何保護PHP的Web應用程序源代碼
- 23. 如何密碼保護應用程序
- 24. 如何保護HTML應用程序(HTA)?
- 25. 如何保護應用程序?
- 26. 如何保護Silverlight應用程序
- 27. 在Web應用程序中使用jdbc連接(jsp,Tomcat和MySQL)
- 28. 保護Android應用程序
- 29. 鏈接保護
- 30. 在Azure中保護Web應用程序不受訪問
使用java腳本或jquery – 2013-02-10 13:13:07
@ShahidGhafoor - 你*不能*使用客戶端代碼來保護任何東西。客戶端代碼可以由訪問者更改! – Quentin 2013-02-10 13:18:10
@Quentin同意了!但達到一定程度。 – 2013-02-10 13:29:08