2015-12-30 36 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, ""); 
相关问题