2013-02-15 172 views
1

我有一個AJAX應用程序,它將調用一個servlet來運行報告並返回PDF。這一切都工作得很好,除了用戶將會看到一個網頁,其中將包含報告名稱和客戶ID。更改客戶ID可以讓他們爲其他人運行相同的報告。哎呀!刪除網址

我記得一些關於URL重寫的問題,這個問題被用於會話管理。我想知道是否可以修改我的servlet中的URL,以便用戶獲取的內容不會被黑客竊取以獲取其他報告。我將如何去做這件事?

此外,有沒有人有更好的主意?

謝謝。

+0

如果數據是保留的,你應該讓用戶登錄後才能看到它...... – GarethL 2013-02-15 15:38:41

+0

你一般如何驗證/授權請求? – 2013-02-15 15:46:42

+0

用戶必須經過身份驗證才能運行報告。但我無法阻止經過身份驗證的用戶看到其他報告。所以這個問題與認證無關。 – Thom 2013-02-15 16:03:52

回答

0

我寫了一個代理servlet來複制內容。這由在會話中存儲URL參數的散列鍵來觸發。這給了我所需要的所有安全性。

謝謝。

0

只需使用(匿名)會話ID作爲文件部分即可。讓一個servlet通過添加會話ID來傳輸文件系統中的文件。

這假設控制流不能因爲Ajax而變得簡單,並且一次執行兩件事情。

0

好吧,正如GarethL在他的評論中已經指出的那樣,用戶應該登錄。然後,您可以將客戶ID存儲在會話中,並使用它來代替參數。

問題是,你首先需要以某種方式確認用戶的身份,最簡單的方法是密碼。