如何使用WebClient和WebAPI实现简单的用户/密码?

时间:2016-03-22 22:48:39

标签: c# asp.net asp.net-web-api webclient

我非常熟悉Windows授权,并且有一种方法可以添加我在本地数据库中使用的角色。由于此工具位于不受信任的域中,因此我查看了基本身份验证,但我看到的解决方案在他们对Owin和OAuth的大量解释中远远超出了我的需要。

该解决方案使用Powershell for (Mains mainsI: control.getMainsList()){ 将数据发送到数据库,以便从自动客户端进程处理日志。这对于低维护和易于扩展来说非常简单和令人敬畏,但我们需要对访问至少进行一些控制。

PSCmdlet代码是对WebClient方法的简单调用。忽略这些示例的try / catch:

async

基本上,我想做一个像控制器这样的事情:

private async Task<string> Run(string postBody)
{
    using (var client = new WebClient())
    {
        client.Headers[HttpRequestHeader.ContentType] = Common.DefaultMediaType;
        client.Credentials = new NetworkCredential(Username, Password);

        var response = await client.UploadStringTaskAsync(uri, postBody);

        return response;
    }
}

如何访问此public partial class TestReportController : ApiController { [Authorize(Roles = "Team Member")] [HttpPost] public async Task<string> TestConnectionPost() { dynamic message = await Request.Content.ReadAsStringAsync(); // Sort the data and store it for later review // ... return "Data log confirmed: " + DateTime.Now(); } } ?我想在Credential文件中对Global.asax.cs类执行一些会导致此行为的操作。我处理域用户的方法是这样的网站就像:

WebApiApplication

从浏览器的域角度来看,这很有效。报告工具不在域级网站中,而是在专用于维护此工具的独立服务器上通过IIS运行。 如何从WebClient实施凭据以使用简单授权?可以这样做吗?

0 个答案:

没有答案