2016-04-15 52 views
0

我在IIS/MVC中使用了表单身份验证。强制将表单身份验证重定向为GET请求

<authentication mode="Forms"> 
    <forms loginUrl="~/Login" /> 
</authentication> 
<authorization> 
    <deny users="?" /> 
</authorization> 

我正在发出HTTP PUT webapi请求,并且因为我的cookie过期而超时。该用户非常正确地被重定向到http://Login,但对登录网址的请求是PUT而不是GET。

,因为我的控制器仅支持得到这个结果在404

有没有办法来强制重定向到登录网址永远是一个GET不管原请求的类型。

回答

0

当重定向到Login操作方法时,默认情况下,即使前一个请求是PUT/GET/POST/DELETE,类型也是PUT。试过了你的场景。用POST装饰了一个动作,然后重定向到类型为GET的登录。你可以检查你是否错过了其他的东西。

+0

您的意思是类型是GET,即使前一个请求是其他请求之一?否则你的答案自相矛盾。 –

+0

yes.previous请求是POST。 –