[英]How to restrict direct access to secure pages?
如何在Java Web應用程序中限制非管理員角色對安全頁面的直接訪問? 例如,我的應用程序中有350-500個URL,我想隱藏20-30個URL,僅允許以管理員角色訪問它們。 解決此問題的最佳方法是什么? 這種情況下的最佳做法是什么?
可能我需要按單個開始URI分組必要的URL? 還是以某種方式使用web.xml
屬性? 還是在會話中使用登錄用戶的保存角色並使用servlet過濾器就足夠了? 在這種情況下,問題是我需要整理出每個安全網址。 但是將來可能會有很多...
我認為所有人都面臨這個問題。 請給我這種情況的標准和簡單的解決方案! 提前致謝!
如果有任何建議和提示,我將不勝感激!
您可以嘗試以下選項
只需將它們放在無法從外部直接訪問的WEB-INF
中即可。
是的,您可以按單個開始URI分組必要的URL,如上所述,可以通過過濾器對其進行過濾。
您可以在這里看看。.http://viralpatel.net/blogs/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat/
您需要以某種方式將它們分組在特定的文件夾中。 比您應該在鏈接中創建一個過濾器。.過濾器將獲得/ admin /模式中的任何內容(假設您的頁面在那里)
在過濾器內部,您只需要添加條件即可。
If(!admin) {
/Redirect to anywhere you want
}
您可以使用諸如Spring安全性之類的更為復雜的東西,該東西將具有內部邏輯,您只需要設置角色即可。我認為這將是更好的解決方案,但如果您不熟悉Spring,則將花費更多時間。
希望能有所幫助
對於一個非常簡單的應用程序來說,它肯定會過時,但是如果已經准備好使用SpringFramework,則可以看看Spring Security。 它涉及身份驗證,具有許多可能性,並且可以具有非常簡單或非常復雜的授權規則。
Apache Shiro也是一個更簡單(但功能不那么強大)的替代方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.