我有一个非常简单的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。