asp.net-core - 基于 .NET Framework 的 .NET Core 2.1 Web API 的授权问题
问题描述
我试图让 [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 对象。
任何见解将不胜感激。
解决方案
原来这很简单。我需要这样的授权标签:
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
和
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddScheme<BasicAuthenticationOptions, EdcAuthenticationHandler>(JwtBearerDefaults.AuthenticationScheme, null);
不需要:app.UseAuthorization();
抱歉,添麻烦了。只是无法弄清楚我需要授权标签中的方案名称。
推荐阅读
- r - R:按行序列分组
- visual-studio - 如何修复在 Unity 2d 项目中删除 GameObject 后出现的蓝屏
- encryption - AesManaged - 填充无效且无法删除 - 从 .Txt 文件中读取
- python - 在 matplotlib 中自动偏移寄生虫轴
- python - 使用 XPath 从 Web Scrape 中获取空结果
- openedge - Webspeed 集成,用于从我的进度数据库中插入和咨询数据
- r - fasttime没有从R中的字符返回实际日期
- python - 阻塞的 Python 线程会导致其他线程阻塞吗?
- amazon-web-services - 为什么 AWS Classic Load Balancer 实例已停止服务,但 Auto Scale 组显示在服务中且运行良好?
- r - 数据帧列表上的线性插值