c# - 在 MVC API 中提供授权和未授权的端点(路由?)
问题描述
我想在我的 API 中提供授权和未授权的方法。
假设我有事物控制器并将实现一个端点来获取事物。
我想提供对授权请求的访问权限:website.com/api/secure/thing/
我想提供对未经授权的请求的访问权限:website.com/api/insecure/thing/
public class Thing : ApiController
{
public IThingRepository ThingRepository { get; set; }
[ActionName("Index"), HttpGet]
public async Task<IHttpActionResult> GetThing(string id)
{
return Ok(ThingRepository.get(Id) );
}
}
我知道如果我使用[AllowAnonymous]
该方法会让未经授权的请求。但是我怎样才能将其他方法重定向到相同的操作?
谢谢
PS1:这是临时要求。我们希望为 API 方法添加授权,但同时我们仍希望为使用不使用授权的旧应用程序的用户提供服务。
website.com/api/something
PS2:我们为使用 Web API 的移动应用程序提供了一个字符串。移动应用程序完成了 API 方法(“.../thing”)的路径。新版本的移动应用程序将包括授权令牌以及请求。所以旧的(不安全的)和新的移动应用程序都应该找到端点“东西”。我们当然可以忽略令牌并使其不安全一段时间。
解决方案
推荐阅读
- http - Visual Studio 2015 - 调试 HTTP 连接问题
- animation - SwiftUI 动画:一些隐式过渡动画在 iOS 13 上被破坏了?
- ios - 如何在应用关闭时保存用户购物车?- 迅速
- html - 引导三个垂直输入组
- google-sheets - 非连续范围的条件格式
- html - ::before 带有 :hover 效果的语法
- scala - 安装 ADLS - 范围内不存在秘密:
和关键: - python - ImportError:尝试使用 pip 时无法导入名称“FormatControl”
- json - Ansible,使用变量修改主机和端口
- mysql - MySQL 选择 col1 (int) 的值为 2 OR 3 AND col2 (tinybit) = 0