使Web api 2使用mvc 5凭据

时间:2014-06-16 17:27:48

标签: c# asp.net asp.net-mvc asp.net-web-api asp.net-mvc-5

我有一个MVC 5应用程序,我可以注册一个用户。

现在,我想使用这些凭据访问Web Api 2。 我在这个thread

中添加了Web api 2

这是我的api

public class MyApiController : ApiController
{
    [Authorize]
    //[System.Web.Mvc.Authorize]
    public ResultContainer Get()
    {
        var result = new ResultContainer 
        {
            IsOk = true,
            DisplayMessage = false,
        };
        return result;
    }
}

现在,我想使用.net客户端(.net 4)访问api,并使用我在网站上注册的帐户。

这是代码

var handler = new HttpClientHandler { Credentials = new NetworkCredential(Username, Password) };
            using (var client = new HttpClient(handler) { BaseAddress = new Uri(BaseUri) })
            {
                try
                {
                    var response = client.GetAsync("/api/MyApi").Result;  // Blocking call!
                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                    }
                 }
             }

问题是我总是收到一个html页面,其中包含要登录的表单而不是我想要的资源。 如果我没有设置

,我可以访问api
  

授权

属性。 我错过了什么?

由于

0 个答案:

没有答案