0

Tomcat を使用して基本的な RESTful サービスを実装したいと考えています。API を使用するには、承認が必要です。承認は、アカウントの「リソース」をリクエストすることによって達成されます。

some.domain.com/rest/accounts?user=ABC&password=XYZ

資格情報が有効な場合、適切なアカウント リソースが JSON として返されるか、タイプ 403 の空の応答が返されます。承認が実行された後、クライアントは API にアクセスできます (たとえば)。

some.domain.com/rest/secure/bookings
some.domain.com/rest/secure/friends

ただし、実装のすべてのオプションで迷っています。Spring を使用したいのはわかっていますが、JSON オブジェクトを返すには Jackson の方が単純で簡単に思えます。

質問:

  1. Jackson を使用するクラスも一種のコントローラーですが、Spring Controller を実装する必要がありますか? または、ジャクソンを使用する場合、Sping コントローラーは必要ありませんか?

  2. Spring-Security、Tomcat フィルター、または Spring を使用した AOP を使用して認証を実行する必要がありますか?

やり方はたくさんあるようですが、私は物事をシンプルに保つことを優先しています。

4

2 に答える 2

2

おそらく、私が今まで見た中で最も脳に損傷を与えた認証方法です。認証はREST API の問題ではなく、Basic、Digest、Negotiate などの基礎となるフレームワーク/サーバーの問題です。duffymo がすでに述べたように、Spring Security はそうする最も自然な方法です。

于 2012-06-09T14:39:04.380 に答える
0

Jackson は JSON シリアライゼーションです。認証/承認との関係がわかりません。

すでに Spring を使用している場合、Spring Security は当然のことです。

もう 1 つの視点があります。それはシンプルに保つことです。基本認証と、ユーザー名と暗号化されたソルト付きパスワードを使用したデータベースを作成するのは難しくありません。単一の DAO で問題ありません。

はい、認証/承認は分野横断的な問題です。どこに置くのが最適かという質問に対する答えは、どこに適用して消費する必要があるかによって異なります. Tomcat フィルターには HTTP が必要です。コントローラー層またはサービス層で認証しますか? または両方?役割ベースの承認はどうですか? それは難しいかもしれません。

于 2012-06-09T14:06:00.850 に答える