【问题标题】:Digest authentication in ASP.NET Core / KestrelASP.NET Core / Kestrel 中的摘要式身份验证
【发布时间】:2017-03-02 18:17:18
【问题描述】:
【问题讨论】:
标签:
asp.net-core
digest-authentication
kestrel-http-server
【解决方案1】:
Core 目前唯一可用的摘要式身份验证实现是 IIS 中与集成 Windows 身份验证相关联的那个。
【解决方案2】:
如果有人正在寻找答案。这段代码对我有用:
using System.ServiceModel;
var binding = new BasicHttpBinding();
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Digest;
binding.TextEncoding = Encoding.UTF8;
binding.TransferMode = TransferMode.Buffered;
binding.AllowCookies = false;
binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
var endpoint = new EndpointAddress(new Uri("http://website.domain/WebService.svc"));
var client = new MessageServiceClient(binding, endpoint);
client.ClientCredentials.HttpDigest.ClientCredential.UserName = "username";
client.ClientCredentials.HttpDigest.ClientCredential.Password = "password";
var response = client.CallMethod();
【解决方案3】:
关于 Kestrel、WebListener 服务器和身份验证的一些事情
以及如何允许匿名用户使用 WebListener 的示例:
builder.UseWebListener(options =>
{
options.Listener.AuthenticationManager.AuthenticationSchemes = AuthenticationSchemes.AllowAnonymous;
});