2012-04-09 54 views
4

我學習休息與JAX-RS,和這個疑問剛來到我的腦海:使用REST webservice上傳文件是一個好主意嗎?

由於Web服務是爲了滿足用不同的編程語言,可互操作的客戶端和客戶端只使用URL來訪問服務功能;關於將文件上傳到公共數據庫的Web服務如何?

它會被保存嗎?如果Web服務無法控制客戶端如何執行驗證,如何避免垃圾郵件過載? 上傳的方法看起來更礦石較少與此類似:

@Path("/upload/{something}") 
@Consumes("multipart/form-data") 
@POST 
public void uploadSomething(...) { 
//... 
} 

所以我的疑問是,如果上傳的是,REST服務可以放心地做一件好事嗎?

+0

「安全」==「安全」嗎? – nobeh 2012-04-09 09:04:56

+0

@nobeh我很抱歉,我不是來自說英語的國家,我不太瞭解這兩個詞的區別。 我想說的是我的問題是數據庫是否可以避免垃圾郵件,如果我們沒有控制客戶端,我們只是給他們上傳的URL? – sfrj 2012-04-09 09:38:32

+1

我建議使用問題分離; (a)防止惡意數據上傳形式或垃圾郵件檢測(b)限制用戶能夠將特定文件(c)上傳爲@aleroot提及的,允許特定用戶使用安全功能進行上傳。我想這些都有不同的方法。除此之外,我相信使用JAX-RS multipart功能可以正常工作。 – nobeh 2012-04-09 11:30:02

回答

5

如果您擔心安全訪問,爲什麼不強制驗證客戶端? 您可以實施SecurityContext並在您的Java代碼中使用它來訪問認證信息。看看this文章可能會有所幫助。

相關問題