我需要实现 ASP.NET Web API 2,即
[RoutePrefix("orders")]
public class OrdersController : ApiController
{
[Route("{id}")]
public Order Get(int id) { }
[Route("{id}/approve")]
public Order Approve(int id) { }
}
我想知道如何保护它?
例如,我们可以为此使用 ASP.NET 身份吗?
有什么线索吗?
您可以将 [Authorize]
属性添加到类中,然后通过标头发送基本身份验证信息。
Web API 基本身份验证的标识创建自定义 ASP.NET 授权属性。有一个完整的示例,其中包含有关在 SimpleSecurity 项目中使用具有 ASP.NET 标识的基本身份验证的源代码。 您可以在此处找到自定义授权属性的源代码。 查看参考应用程序以获取有关如何使用它的示例。客户端代码的源代码在这里。 这里有一个关于在 Web API 中实现基本身份验证的讨论。 尽管本文引用了 SimpleMember,但相同的主体已应用于使用 ASP.NET Identity 的实现。