非常简单的Web API应用程序 - 2种方法 - 硬编码基本身份验证

时间:2017-03-10 18:02:00

标签: asp.net-web-api asp.net-web-api2

我有一个非常简单的Web API应用程序。只有2种放置(编辑或插入数据)的方法 - 我只想将基本认证硬编码到2种方法中,而不会使其复杂化。

为了要求对两种方法进行身份验证,我需要的最小代码是什么 - 然后我如何使用此代码(从MVC应用程序中的某些C#代码调用API)。

我在网上找到的所有例子都非常复杂 - 使用过滤器或过于精细的身份验证。

我的网络API方法如下所示:

public IHttpActionResult Put([FromBody]ImportObject impobj)
{
// Import data here
}

我称之为:

public async static Task<string> Caller(ImportObject impobj)
{
    string responseString = "NA";

    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri("http://localhost");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        // Post new object, get response
        var response = await client.PutAsJsonAsync("myservice/api/meth", impobj);

        // Get response content string
        var resContent = response.Content.ReadAsStringAsync();

        // Build user response string (just for testing)
        responseString =
            "<br />result: " + resContent.Result.ToString() +
            "<br />status: " + resContent.Status.ToString() +
            "<br />StatusCode: " + response.StatusCode + "<br />";
    }

    // Output response string
    return responseString;
}

我只想在两端添加基本身份验证 - 因为它很容易将其硬编码到两种方法中(这也让我很容易看到它是如何工作的。)

THX。

0 个答案:

没有答案