2013-01-12 24 views
0

假設您有一張圖像,您只希望登錄您的網站的用戶能夠看到。保護我免受未登錄用戶的最佳方式是什麼?一種可能的方法是讓頁面通過get或post參數傳遞圖像名稱,並且通過從磁盤讀取圖像並根據用戶是否登錄會話回寫響應來返回圖像。是/有更好的方法更有效地實現資源的安全嗎?保護資源,例如servlet中的圖像

回答

1

有幾個簡單的方法你可以通過servlet filters或簡單的servlet來服務你的資源。

個人如果主體已設置我會檢查是這樣,那麼你知道用戶是authenitcated

Principal principal = request.getUserPrincipal(); 
    if (principal == null) { 
     return null; 
    } 

如果沒有本金,你知道用戶沒有通過驗證,你可以返回403種狀態,空白圖像或任何你喜歡的東西。

2

使用您的會話。當用戶登錄時,您將圖像加載到您的頁面。

0

如果要保護圖像文件的URL,請在代碼中設置有關其訪問權限的一些規則。我認爲一個更好的選擇是使用一些安全框架。有一些安全平臺如Spring Security根據用戶身份驗證狀態,url-role組合和acl等提供非常全面的訪問規則。