2015-12-30 37 views
0

我正在開發一個簡單的Asp.Net MVC 6應用程序,但我希望我的一些控制器表現爲WebAPI控制器,而不是Mvc控制器。在當前我有一個方法返回HttpUnauthorized();,當我用郵遞員測試它時,我得到一個狀態碼爲200的響應,並將login頁面作爲響應主體。有沒有一種方法可以將我的控制器在Startup.cs中分開,並通過與url/api/...進行的所有呼叫都將返回狀態代碼401並且不呈現登錄頁面來「管理」它們。任何幫助將不勝感激。HttpUnathorized應從API調用時返回狀態代碼

回答

0

表單身份驗證在Web應用程序上設置,這意味着當從控制器返回HttpUnauthorizedResult時,MVC會啓動並重定向到登錄頁面。這對客戶端的影響是假設沒有錯誤發生。 您可以通過使用aspnet.suppressformsredirect nuget包來解決此問題,並將suppress標誌添加到用於身份驗證的響應中。

或者你可以從你的控制器設置該

throw new HttpException((int)HttpStatusCode.Forbidden, ""); 
相關問題