【问题标题】:Authorization on .NET Core 2.1 Web API built on .NET Framework problem基于 .NET Framework 的 .NET Core 2.1 Web API 的授权问题
【发布时间】:2020-12-29 08:48:41
【问题描述】:

我正在尝试让 [Authroize] 标记在基于 .NET Framework 的 .NET Core 2.1 Web API 项目上运行。没有 IAppBuilder.UseAuthorization()。我编写了自己的 JWT 自定义身份验证处理程序,并在 Startup 中尝试了以下操作:

 services.AddAuthentication("Basic")
        .AddScheme<BasicAuthenticationOptions, EdcAuthenticationHandler>("Basic", null);

 services.AddAuthorization();

我也有

app.UseAuthentication();

但是,同样没有 app.UseAuthorization()

我希望能够添加 [Authorize] 属性(以及角色)并能够访问我的控制器方法中的 User 对象。

任何见解将不胜感激。

【问题讨论】:

    标签: asp.net-core authentication asp.net-web-api jwt authorization


    【解决方案1】:

    事实证明这很简单。我需要这样的授权标签:

    [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
    

    services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
        .AddScheme<BasicAuthenticationOptions, EdcAuthenticationHandler>(JwtBearerDefaults.AuthenticationScheme, null);
    

    不需要: app.UseAuthorization();

    很抱歉给您带来麻烦。只是想不通我需要授权标签中的方案名称。

    【讨论】:

      猜你喜欢
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 2019-03-18
      • 2020-12-14
      • 2019-07-07
      相关资源
      最近更新 更多