Peoples Getリクエストにxml/jsonを提供するためのasp.net MVC Webサービスフレームワークがありますが、最善の方法(javascriptまたはOO =言語)ユーザーを認証します。データが機密であるなどの理由ではありません。ユーザーに登録を求めて、変更を通知し、使用状況を追跡するためのメールアドレスを用意します。
以前の試みでは、URIにユーザー名があり、ユーザー名が存在することを確認し、使用量に応じてdbテーブルをインクリメントしました。これは非常に基本的でしたが、ユーザー名としてデモを使用している人などに気づくので、もう少し洗練される必要があります。
利用できる認証技術は何ですか?主要なプレーヤーは何を使用していますか。
StackOverflowでその質問をしました ここで読む 。私自身の質問の my answer も参照してください。これは、リクエストごとにパスワードを渡す必要がなく、SSLや暗号化を使用しない、認証に関するものです。単純なハッシュ。
私はあなたのビジュアルスタジオを使っています。 vs 2010を4.0フレームワークで使用している場合は、vs 2010の「WCF REST API Key Verificationを使用したサービス」テンプレートを確認できます。
Webサービスには常にHTTP認証を使用します。認証自体はWebサーバーによって処理され、おそらくIISあなたの場合です。次に、IISを構成して、データベース、LDAPストア、または類似。
次に、プロパティUser.Identity.Nameを介してユーザー名にアクセスします。
[〜#〜] edit [〜#〜]:JQuery認証の例:
/* I found that providing the username and password both in the
the arguments and in the url parameter seems to have better compatibility,
if it works well for you, it is highly advisable to remove the
user/pass from the url */
function doLogin (){
$.ajax({
username: $('#username').val(),
password: $('#password').val(),
url: 'https://'+$('#username').val()+':'+$('#password').val()+'@api.example.com',
dataType: 'jsonp',
context: $('#result'),
success: function(d) { $(this).html(d); $(location).attr('href','https://api.example.com/success'); }
});
return false;
}