2011-04-14 65 views
0

嗨 我使用的是apache tomcat。 我有一個jsp文件,用於輸入用戶名和密碼以及一個用於身份驗證的java bean。 用戶通過身份驗證後,我創建一個會話變量與用戶名和另一個名爲「authenticated」的值爲true。 我想只允許在會話變量「authentication」== true之後下載文件; 我也想下載之前做一些處理(註冊誰下載的用戶名..)只有會話驗證後,apache tomcat文件才能下載jsp

問題: 可以說我有文件「download.bin」內部目錄「/下載」 所以任何人誰直接去url「downloads/download.bin」就會得到這個文件。

1.可以阻止直接下載文件 2.僅在會話認證後啓用文件下載。

謝謝。

回答

2

您可以防止直接下載文件。一種常見的做法是將/downloads文件夾放入WEB-INF。創建一個servlet來檢查你的認證標誌,然後把文件發送給用戶。 A的用戶請求可能看起來像以下:

http://localhost/myApp/downloadServlet?filename=download.bin 

由於WEB-INF裏面的內容是不是可以公開獲得,你可以有隱藏文件。