0

そのため、ASP.Net MVC 4 アプリケーションを 1 か月間楽しく作成しています。私はセキュリティ モデルを用意しており、ユーザーはログインでき、その後のページ リクエストのためにユーザー セッションに安全な情報が保存されています。これはすべてうまくいきます。次に、いくつかの ajax 呼び出しを実装して、ページに追加のデータを取得します。これを行うには、Web API インターフェイスを呼び出します。Web API 呼び出しで、Session と low にアクセスしようとすると、Session が null であることがわかります。これで、Web API は「ステートレス」であることがわかりました。Web API 呼び出しのすべてのパラメーターを渡す必要があります。しかし、これらのパラメーターの一部が重要であり、ajax 呼び出しを行うときにクライアントから渡すことができない場合はどうなるでしょうか?

WebAPI でセッションにアクセスするためのハックについて読みました。私はこれをしたくないし、Web API のテナントに違反しています。? では、この情報をデータベースに保存し、Web API 呼び出しで引き出すのですか? それをするのはPITAのようです。では、Web API の ajax 呼び出しを行うときに、特定のパラメーターを安全に保つにはどうすればよいでしょうか? それとも、故障してセッションにアクセスするだけですか?

4

2 に答える 2

0

各サービス呼び出しは、ユーザー ID を受け入れることができます。

WebAPI コントローラー メソッドは、ユーザー ID を使用して、機密性の高い注文の詳細の検索など、さらにデータの検索を行います。

于 2013-05-17T15:44:31.257 に答える
0

私が行う方法は、基本クラスから継承することであり、この基本クラスには次のものがあります。

public string UserName
   {
       get
       {
            return User.Identity.Name;
       }
}

WebAPI はこの UserName を確認でき、各 UserName は一意であるため、この変数に基づいてユーザー ルックアップを実行できます。

さらにデータを WebAPI に送信する場合は、ID を Controller に送信し、UserName に対して検証して、ID にアクセスできるかどうかを確認する必要があります。

疑似...

ポリシーが欲しい!

クライアント側

  • ポリシー ID を送信します (1234 を WebAPI に送信します。ハッカーがそこから情報を取得できない場合は意味がありません)
  • この ID は、User.Identity.Name に対して検証され、情報を取得できるかどうかが確認されます
于 2013-05-17T15:53:46.637 に答える