C# ASP.NET Core 3.1:如何使用协商提供程序

C# ASP.NET Core 3.1:如何使用协商提供程序,c#,asp.net-core-mvc,negotiate,C#,Asp.net Core Mvc,Negotiate,我用本地帐户(.NET标识)创建了.NET Core 3.1 MVC网页。 我想在那个页面上使用协商提供者。 怎么做 我不想启用Windows身份验证并禁用匿名身份验证,因为某些用户无法拥有域帐户 来自的代码在IIS或Kestrel上不起作用。理论上它是专门为红隼设计的,但我不能在任何配置中使用它 //in ConfigureServices method services .AddAuthentication() .AddNegotiate( "Negotiate", &q

我用本地帐户(.NET标识)创建了.NET Core 3.1 MVC网页。 我想在那个页面上使用协商提供者。 怎么做

我不想启用Windows身份验证并禁用匿名身份验证,因为某些用户无法拥有域帐户

来自的代码在IIS或Kestrel上不起作用。理论上它是专门为红隼设计的,但我不能在任何配置中使用它

//in ConfigureServices method
services
.AddAuthentication()
.AddNegotiate( "Negotiate", "Windows Authentication", options => { } );
文档中提到了setspn命令,但我找不到诸如https:\localhost:6001这样的自定义端口的示例。无论如何,我怀疑这是必要的

setspn -S HTTP/localhost myuser

我弄糟了什么吗?

setspn只是将服务添加到机器,而没有设置端口号6001。端口号在c代码或配置文件中设置。