-1

学習演習として、単純なWeb APIを作成し、Webクライアント(asp.net mvc)とデスクトップクライアント(winform)を使用してそれを利用したいと思います。Web APIは、カテゴリ、製品、そしてもちろんユーザー/ロールを次のように処理する必要があります。

  • 誰もがカテゴリや製品を閲覧できます
  • 通常のユーザーは製品を挿入/更新/削除できます
  • 管理者は、カテゴリと製品を挿入/更新/削除できます

最初のコンシューマーであるasp.netmvcアプリケーションに関して、次の質問があります。

  1. コントローラーでは、 ViewResults以外のものになります。これは、すべてのhttpリクエストがjavascriptから行われることを私が理解したことからです。

  2. 認証と承認についてはどうですか?RESTFULサービスについて話しているので、呼び出し間に接続はなく、ユーザーはすべてのリクエストで自分自身を識別するためのデータを送信する必要があります。

    2.1 HTTPVerbs(ASP.NET MVCアプリケーションで)を使用することに意味はありますか?

    2.2 FormsAuthenticationはどうですか?

    2.3クレデンシャルをweb.apiに安全に送信するにはどうすればよいですか?

私にとってすべてがとてもぼやけています。私が見たすべての例がそれほど明確ではなかったため、iisで独立してホストされ、Webサイト(ASP.NETWebFormsまたはASP.NETMVC)によって消費されるWebAPIの例はありますか。

4

1 に答える 1

1

1) コントローラーでは、ViewResults 以外のものになるのでしょうか?

必ずしも。HttpClient (Web API クライアント クラス) を使用して、RESTful アクションを標準の ASP.NET MVC アクションから直接使用することはまったく問題ありません。たとえば、リレーショナル データベースにクエリを実行する代わりに、HttpClient を使用して ASP.NET MVC Web API メソッドを使用してデータをフェッチするリポジトリを使用しても問題ありません。必ずしも Web API メソッドをクライアント側 JavaScript に公開する必要はありません。それらは、データ アクセスへのゲートウェイとして機能する可能性があります。もちろん、考えられるシナリオはたくさんあります。

2) 認証についてはどうですか? RESTFUL サービスについて話しているため、呼び出し間に接続はなく、ユーザーは自分自身を識別するためにすべての要求でデータの一部を送信する必要があります。

認証を実行するには多くの方法があります。それらの 1 つは、Cookie を含む十分に確立されたメカニズムであるフォーム認証を使用することです。したがって、この場合、クライアントから送信されて自分自身を識別するデータは、実際には Cookie です。

2.1) HTTPVerbs を使用する意味はありますか?

もちろん。REST はすべて HTTP 動詞に関するものです。ASP.NET Web API の場合、規則によってどの API コントローラー アクションを呼び出すかを決定するのは HTTP 動詞です。もちろん、デフォルトのルート設定を上書きすることで、この規則に違反する可能性があります。

2.2) FormsAuthentication はどうですか?

ポイント2を参照)

于 2012-06-22T21:42:15.873 に答える