Asp.net mvc 授权Api控制器上的筛选器-FormsAuthentication?

Asp.net mvc 授权Api控制器上的筛选器-FormsAuthentication?,asp.net-mvc,api,Asp.net Mvc,Api,我已经创建了我的应用程序,我有一个应用程序控制器(基本控制器),我可以随时强制进行身份验证。如果需要,我可以在任何派生的控制器中重写它。我在此控制器上具有[Authorize]属性 我刚刚开始创建我的Api基本控制器,它源自我的应用程序控制器,以访问Nhibernate会话、记录器等 在我的应用程序中,我确保将FormsAuthentication设置为: var cookie = FormsAuthentication.GetAuthCookie(Name, false);

我已经创建了我的应用程序,我有一个应用程序控制器(基本控制器),我可以随时强制进行身份验证。如果需要,我可以在任何派生的控制器中重写它。我在此控制器上具有[Authorize]属性

我刚刚开始创建我的Api基本控制器,它源自我的应用程序控制器,以访问Nhibernate会话、记录器等

在我的应用程序中,我确保将FormsAuthentication设置为:

        var cookie = FormsAuthentication.GetAuthCookie(Name, false);
        var ticket = FormsAuthentication.Decrypt(cookie.Value);

        var expiration = DateTime.Today.AddDays(5);

        var newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name, ticket.IssueDate, expiration,
            ticket.IsPersistent, value.APIToken, ticket.CookiePath);
        var encTicket = FormsAuthentication.Encrypt(newTicket);


        cookie.Value = encTicket;
        cookie.HttpOnly = true;

        HttpContext.Current.Response.Cookies.Add(cookie);
我的Api需要同样的东西吗?理想情况下,我希望通过头或查询字符串(例如

site.com/api/v1/projects?clientid=xxx&token=xxxxxxxxxx

只有当我具有以下属性时,对Api控制器的请求才会起作用:[AllowAnonymous]

对api调用进行身份验证的最佳方法是什么