C# ASP.NET 4.7 MVC身份验证和授权标识

C# ASP.NET 4.7 MVC身份验证和授权标识,c#,asp.net,security,asp.net-web-api,C#,Asp.net,Security,Asp.net Web Api,我正在创建一个MVCWebAPI。端点将隐藏在通过自定义令牌进行身份验证的后面。但是,还将对某些单独的端点、对管理员的访问权限等进行范围界定。我正在尝试找出如何创建用户,或者,当用户通过身份验证以在授权筛选器中设置他时,我可以验证他是否是管理员,或者他是否具有对该端点上特定资源的读取权限 最好的方法是什么,我可以在身份验证过滤器中设置身份主体,还是有更好的方法?您可以使用[Authorize]属性my friend 首先:将属性筛选器添加到全局筛选器列表: public static void

我正在创建一个MVCWebAPI。端点将隐藏在通过自定义令牌进行身份验证的后面。但是,还将对某些单独的端点、对管理员的访问权限等进行范围界定。我正在尝试找出如何创建用户,或者,当用户通过身份验证以在授权筛选器中设置他时,我可以验证他是否是管理员,或者他是否具有对该端点上特定资源的读取权限


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

您可以使用[Authorize]属性my friend

首先:将属性筛选器添加到全局筛选器列表:

 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() { ... }
}
three要确保您的操作安全,请将属性添加到操作方法:

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

    // Require authorization for a specific action.
    [Authorize]
    public HttpResponseMessage Post() { ... }
}
我建议您访问此2链接,它可以为您提供更多帮助: