3

データベースで通常のCRUDタスクを実行するさまざまなc#RESTサービスがあります。

たとえば、以下に示すようにXMLを期待するcustomersデータベーステーブルに顧客を追加するRESTサービスがあります。

<CreateCustomerRequest>
    <Name>Customer name</Name>
    <Surname>Customer surname</Surname>
</CreateCustomerRequest>

したがって、URLと適切なXML構造を知っている人は誰でも、RESTサービスを呼び出して、顧客をデータベースに挿入できます。不正な挿入が実行されないようにするための最良の方法は何ですか?おそらく、MD%([名前フィールド]+[名前フィールド]+[共有クライアント/サーバーキー]として計算された要求で送信されるキー??

4

2 に答える 2

4

RESTサービスで基本認証を使用できます。各呼び出しは認証情報を送信する必要があります。そうでない場合、呼び出しは401で失敗します。

基本的に、リクエストのコンテンツヘッダーに以下を追加する必要があります。

Authorization: Basic YWRtaW46YWRtaW4x

ここで、YWRtaW46YWRtaW4xはbase64でエンコードされたusername:passwordです。

そのレベルのセキュリティが必要な場合は、SSLを実装し、リクエストごとにクライアントに証明書を送信させることもできます。

あなたがその分野の専門家でない限り、あなた自身のセキュリティを発明しようとしないでください。

于 2012-09-28T13:25:21.317 に答える
0

c#を使用している場合は、組み込みのAsp.Net認証プロバイダーを使用してください。

asp.netがサポートする任意の種類の認証を使用することも、独自のプロバイダーをロールすることもできます。

フレームワークがサポートするものを使用することをお勧めします。

http://www.asp.net/web-forms/tutorials/security

http://msdn.microsoft.com/en-us/library/ms733071.aspx

于 2012-09-28T13:31:12.313 に答える