1

私はASP.NETが初めてで、残り...

私は単に web api2 を作成しています。REST サーバーの準備ができており、クライアントの準備も整っています。

API には、ユーザー名とパスワードを持つ有効なユーザーのみがアクセスする必要があります。したがって、有効なユーザーを確認する必要があるため、次の方法でユーザーにアクセスしようとしました。

var uri = 'http://localhost/ProductsApp/api/products/username/password';

$(document).ready(function () {
    // Send an AJAX request
    $.getJSON(uri)
        .done(function (data) {
            // On success, 'data' contains a list of products.
            $.each(data, function (key, item) {
                // Add a list item for the product.
                $('<li>', { text: formatItem(item) }).appendTo($('#products'));
            });
        });
});

その呼び出しで、以下のメソッドにアクセスします。

public IEnumerable<Clients> GetAllClients( string username, string password)
{

    //Here i tried to check the username and password

    HttpRequestMessage message = new HttpRequestMessage();
    message.GetClientCertificate();
    return dbContext.Clients.ToList();
}

しかし、エラーをスローします。そして、これはそうではないようです。良いチュートリアルを参照するか、この問題を解決するのを手伝ってください...とても役に立ちます。

4

1 に答える 1

0

webapi2 のデフォルトの Bearer Authentication を実装する手順については、こちらを参照してください。

ユーザーを登録するには、/api/account/register に投稿する必要があります。本文には、UserName、Password、および ConfirmPassword プロパティが含まれます。

{
    'UserName': 'neil',
    'Password': 'secretPassword',
    'ConfirmPassword: 'secretPassword'
}

Content-Type: application/json をヘッダーとして追加します。

ユーザーを登録したら、/Token に投稿し、ユーザーの識別に使用されるトークンを受け取ることで、ユーザーをログインさせることができます。この投稿に次のヘッダーを追加する必要があります。

Content-Type: application/x-www-form-urlencoded

本体は次のようになります。

grant_type=password&username=neil&password=secretPassword

その投稿はトークンを返します。次のリクエストのヘッダーとしてトークンを含める必要があります。ヘッダーは次のようになります。

Authorization: bearer xxx *where xxx is the token.*
于 2014-01-24T19:58:11.537 に答える