ASP .NET 4.7 MVC身份验证和授权身份

时间:2018-07-07 15:54:47

标签: c# asp.net security asp.net-web-api

我正在创建MVC Web API。端点将通过自定义令牌隐藏在身份验证后面。但是,在某些单个端点上还将进行范围界定,访问管理员等。我试图弄清楚如何创建用户,或者,当用户通过身份验证来设置用户时,因此可以在授权过滤器中验证他是否管理员,或者他是否对该端点上的特定资源具有读取权限。

执行此操作的最佳方法是什么,我可以在身份验证过滤器中设置身份主体,还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用[朋友] [授权]属性,

第一::将AuthorizeAttribute过滤器添加到全局过滤器列表中:

 public static void Register(HttpConfiguration config)
    {
        config.Filters.Add(new AuthorizeAttribute());
    }

秒:以保护您的控制器,将过滤器作为属性添加到控制器

// Require authorization for all actions on the controller.
[Authorize]
public class ValuesController : ApiController
{
    public HttpResponseMessage Get(int id) { ... }
    public HttpResponseMessage Post() { ... }
}

三个以保护您的操作,将属性添加到操作方法:

public class ValuesController : ApiController
{
    public HttpResponseMessage Get() { ... }

    // Require authorization for a specific action.
    [Authorize]
    public HttpResponseMessage Post() { ... }
}

我建议您访问此2链接可以为您提供更多帮助:

Authentication and Authorization in ASP.NET Web API
MVC Web API: Authorization & Authentication