【问题标题】:No authentication handler is configured to authenticate for the scheme: Windows没有配置身份验证处理程序来对方案进行身份验证:Windows
【发布时间】:2018-09-09 20:56:25
【问题描述】:

我没有看到任何问题解决了特定于“Windows”身份验证方案的此错误。我有一个托管在 IIS 中的 ASP.NET Core 2.0 应用程序,我尝试按照以下说明设置 Windows 身份验证:https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?tabs=aspnetcore2x 但在授权时出现标题错误异常:

应用程序引发了未处理的异常。 System.InvalidOperationException:没有配置身份验证处理程序来对方案进行身份验证:Windows 在 Microsoft.AspNetCore.Authentication.AuthenticationService.d__10.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.AspNetCore.Authorization.Policy.PolicyEvaluator.d__2.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter.d__15.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)...

具体来说,我的ConfigureServices 中有代码:

services.AddAuthentication(IISDefaults.AuthenticationScheme);

services.AddMvc(opt =>
{
    var defaultPolicy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .AddAuthenticationSchemes(IISDefaults.AuthenticationScheme)                       
        .Build();
    opt.Filters.Add(new AuthorizeFilter(defaultPolicy));
});

Configure:

app.UseAuthentication();
app.UseStatusCodePages();
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();

使我的情况与众不同的其他一点是,我的目标是 .NET Framework 4.7(不是 .NET Core),并带有以下包引用。有没有我遗漏的实际上执行身份验证的?

<PackageReference Include="Microsoft.AspNetCore" Version="2.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.3" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.2" />

感谢任何有关此错误的帮助!

【问题讨论】:

  • 你的站点是否在 IIS 中启用了 windows 身份验证?
  • 你解决了吗?
  • 我正在寻找同样的问题。你解决了吗?

标签: c# asp.net-core windows-authentication


【解决方案1】:

我认为您错过了在 Properties/launchSettings.json 中设置为 true 的属性;

"windowsAuthentication": true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多