【问题标题】:Forcing forms authentication to redirect as a GET request强制表单身份验证重定向为 GET 请求
【发布时间】:2016-04-15 19:03:55
【问题描述】:

我在 IIS/MVC 中使用表单身份验证。

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

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

因为我的控制器只支持 GET 这会导致 404。

无论原始请求的类型如何,是否有办法强制重定向到登录 URL 始终为 GET。

【问题讨论】:

    标签: asp.net-mvc iis asp.net-web-api


    【解决方案1】:

    当重定向到登录操作方法时,默认情况下,类型是 PUT,即使之前的请求是 PUT/GET/POST/DELETE。刚刚尝试了您的方案。已经用 POST 装饰了一个动作,它重定向到使用 GET 类型的登录。你能检查一下你是否错过了其他任何东西。

    【讨论】:

    • 你的意思是类型是 GET 即使前面的请求是其他请求之一?否则你的答案自相矛盾。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 2020-02-03
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    相关资源
    最近更新 更多