【问题标题】:ReturnUrl issue with asp.net mvc使用 asp.net mvc 的 ReturnUrl 问题
【发布时间】:2013-02-23 05:24:28
【问题描述】:

我必须处理旧的 asp.net mvc 应用程序,它没有像我习惯的那样配置。通过以下方式正常注销后:

FormsAuthentication.SignOut();

return RedirectToAction("Index", "Home");

URI 包含:

ReturnUrl=%2f

通常情况并非如此。我怎样才能抑制它?

或者,当我尝试访问需要身份验证/授权的页面时,会出现登录页面,但没有生成适当的 ReturnUrl=(即 URI 保持原样)。

这是我在某处读过的 IIS 问题,还是 asp.net FormsAuthenticationModule 配置不正确?谢谢。

【问题讨论】:

  • 在发帖之前遇到过这个......不过不要这么认为。
  • 你使用的是什么版本的 MVC?
  • 我使用的是 3.0.谢谢。
  • 它在 Cassini 中的表现如何?如果它在那里也失败了,那么这不是 IIS 问题。如果那里有正确的 returnUrl,那么很可能是 IIS 问题。您可以在 web.config 文件中发布您的 system.web 身份验证元素吗?

标签: c# asp.net asp.net-mvc


【解决方案1】:

ReturnUrl 在未经授权的重定向期间添加。似乎有人将根 url (/) 重定向到自身或 Home/Index。 %2f 是“/”的编码形式。

我会检查 web.config 的授权部分是否有问题。

【讨论】:

    【解决方案2】:

    这取决于你的路由,对吧?如果你有这个作为你最后一次路由配置:

    routes.MapRoute(
     "Default", 
     "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional });
    

    【讨论】:

      【解决方案3】:

      如果没有任何效果,则在 Web.Config 文件的 system.web 属性中添加身份验证模式 =“Windows”。希望它对你有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-25
        • 1970-01-01
        • 1970-01-01
        • 2018-03-20
        • 1970-01-01
        • 2022-11-11
        • 2011-02-10
        • 1970-01-01
        相关资源
        最近更新 更多