首页 > 解决方案 > 在 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/somethingPS2:我们为使用 Web API 的移动应用程序提供了一个字符串。移动应用程序完成了 API 方法(“.../thing”)的路径。新版本的移动应用程序将包括授权令牌以及请求。所以旧的(不安全的)和新的移动应用程序都应该找到端点“东西”。我们当然可以忽略令牌并使其不安全一段时间。

标签: c#.netasp.net-mvcasp.net-web-api

解决方案


推荐阅读