我非常熟悉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实施凭据以使用简单授权?可以这样做吗?