KJS*_*JSR 5 c# authentication asp.net-core
我的 Asp.Net Core API 项目中有一个自定义项AuthorizationHandler,它根据 .net 文件中传递的令牌来授权请求Headers。
工作Handler正常,因为它在运行时调用,但是出现以下错误
InvalidOperationException:未指定authenticationScheme,并且未找到DefaultChallengeScheme。
我已Startup.cs按如下方式注册了我的设置:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(IISDefaults.AuthenticationScheme);
services.AddSingleton<IAuthorizationHandler, TokenAuthorizationHandler>();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseAuthentication();
app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
该项目的默认属性是启用匿名身份验证并禁用 Windows 身份验证。
如果您想选择IIS 默认身份验证作为您的authenticationScheme,您需要修改项目的属性以启用 Windows 身份验证并禁用匿名身份验证:
在“解决方案资源管理器”中右键单击该项目,然后选择“属性”。
选择“调试”选项卡。
清除启用匿名身份验证复选框。
选中启用 Windows 身份验证复选框。
保存并关闭属性页。
或者您可以添加其他身份验证方案(基于 cookie 的身份验证、JWT 承载身份验证等),请参阅在 ASP.NET Core 中使用特定方案进行授权以了解更多详细信息。
| 归档时间: |
|
| 查看次数: |
15048 次 |
| 最近记录: |