2012-04-09 27 views
4

私はJAX-RSとRESTを勉強していて、この疑問はちょうど私の頭に浮かんだ:REST webserviceを使用してファイルをアップロードすることをお勧めしますか?

Webサービスは異なるプログラミング言語で書かれた相互操作可能なクライアントにサービスを提供することを意図し、クライアントだけでアクセスするためのURLを使用しているので、サービス機能;共通のデータベースにファイルをアップロードするためのWebサービスはどうですか?

保存されますか?クライアントがどのように検証を実行するかを制御できない場合、どのようにWebサービスがスパムによって過負荷にならないようにすることができますか? アップロードする方法は、これまでより多くの鉱石が少ないようになります。

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

アップロードは、RESTサービスを安全に行うことができます良いことであれば、私の疑問はありますか?

+0

「安全に」==「安全に」ですか? – nobeh

+0

@nobeh私は英語を話す国から来たわけではありません。私は両方の言葉の違いを理解していません。 私が言うことは私の質問はデータベースが迷惑メールから安全であるかどうかです。クライアントを制御できない場合、アップロードするURLを指定するだけです。 – sfrj

+1

私は懸念の分離を使用することをお勧めします。 (a)特定のユーザーがセキュリティ機能を使用してアップロードできるように、(a)悪意のあるデータのアップロード形式やスパムの検出を防止する(b)特定のファイルをアップロードできるようにユーザーを制限する(c)これらのそれぞれは、アプローチする方法が異なります。他のものよりも、JAX-RSのマルチパート機能を使うとうまくいくと思います。 – nobeh

答えて

5

安全なアクセスが心配な場合は、なぜクライアントに認証を強制しないのですか? SecurityContextを実装し、それをJavaコードで使用して認証情報にアクセスすることができます。記事を参考にしてくださいthisを見てください。

関連する問題