Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC 4的保留逻辑超控_Asp.net Mvc - Fatal编程技术网

Asp.net mvc MVC 4的保留逻辑超控

Asp.net mvc MVC 4的保留逻辑超控,asp.net-mvc,Asp.net Mvc,我有一个控制器动作,它是从客户端上的jquery方法调用的,并返回JSON。在某些情况下,我可能需要从该操作返回401。如果我尝试发出401,只要在web.config中将PreserveLoginUrl设置为true,标准MVC将创建一个响应,将用户重定向到登录页面。我希望能够在某些操作上覆盖PreserveLoginUrl,以便向客户端发送一个真正的401。但是,对于大多数操作,PreserveLoginUrl=true是正确的行为,因此我希望保持这种状态 关于如何在维护PreserveLo

我有一个控制器动作,它是从客户端上的jquery方法调用的,并返回JSON。在某些情况下,我可能需要从该操作返回401。如果我尝试发出401,只要在web.config中将PreserveLoginUrl设置为true,标准MVC将创建一个响应,将用户重定向到登录页面。我希望能够在某些操作上覆盖PreserveLoginUrl,以便向客户端发送一个真正的401。但是,对于大多数操作,PreserveLoginUrl=true是正确的行为,因此我希望保持这种状态


关于如何在维护PreserveLoginUrl=true功能的同时不重定向一些操作而实现真正的401,有什么建议吗?目前,我将返回400而不是401作为解决方法,但这并不是正确的行为,因为我确实希望发出未授权的响应。

使用403响应,如果响应是403,则让javascript/jquery方法执行您想要的操作。在ASP.net中重写401响应的内置行为非常困难

只是出于好奇。。。使用401响应而不重定向到登录页面的用例是什么?我能想到的唯一情况是WebApi操作,它被用户控制的浏览器以外的东西调用,我相信,默认情况下,这些操作已经不会重定向到登录页面。