2012-04-24 126 views
1

我使用MVC WEB API實現了一項服務,並且實現了一種自定義的方式來驗證請求。這是它的樣子:使用WEB API的自定義授權

public HttpResponseMessage GetTest() 
    { 
     try 
     {     
      IDBModel DAO = new DBModelDAO(); 
      if (DAO.IsApiKeyValid(Request.Headers.Authorization.Parameter)) 
      { 
       return new HttpResponseMessage(HttpStatusCode.OK); 
      } 
     } 
     catch (Exception e) 
     { 
      System.Diagnostics.Trace.WriteLine(e.Message);     
     } 
     return new HttpResponseMessage(HttpStatusCode.Unauthorized); 
    } 

但是,如果認證失敗,我重定向到這個URI: /帳號/登錄RETURNURL =%2ftest

而且我不希望出現這種情況,因爲我不不使用網頁瀏覽器進行身份驗證。

如何禁用此功能?

非常感謝您的幫助!

佐利

+0

有任何AuthorizeAttribute的控制器類? – 2012-04-24 12:18:34

+0

沒有,它看起來像這樣 命名空間DBModel.Controllers { 公共類的TestController:ApiController {// // GET:/測試/ 公共HttpResponseMessage GetTest(){ ... } } } – 2012-04-24 13:32:26

+0

好的。請檢查您的web.config的身份驗證節點。身份驗證模式是Forms嗎?你也應該看到loginUrl = Acctiont/Login ...。 – 2012-04-25 08:51:50

回答

-1

的部分:

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 

已被註釋,它不會重定向