ASP.NET Core / Kestrel中的摘要认证

12

请问在ASP.NET Core / Kestrel中是否可以使用摘要认证?如果可以,如何启用和使用它?

我知道基本认证不会被实现,因为它被认为是不安全和缓慢的,但我完全找不到摘要认证相关的信息。

我不想使用IIS的认证,因为我不想受限于Windows账户,我想使用自定义凭据验证逻辑。

3个回答

5

目前Core唯一可用的摘要身份验证实现是与集成Windows身份验证相关联的IIS。


0

如果有人正在寻找答案。 这段代码对我有效:

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();

如何在ASP.NET Core中使用它? - Anatolii Humennyi

-4

关于Kestrel、WebListener服务器和身份验证的几点说明

以下是如何使用WebListener允许匿名用户的示例:

builder.UseWebListener(options =>
{    
     options.Listener.AuthenticationManager.AuthenticationSchemes = AuthenticationSchemes.AllowAnonymous;
});

2
我不是在要求集成Windows身份验证,我需要的是摘要访问认证 - Albireo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接