【问题标题】:My returnURL is not working in production我的 returnURL 在生产中不起作用
【发布时间】:2012-07-17 15:26:44
【问题描述】:

我在我的 vb.net 网络应用程序 (.net 4) 中使用 RedirectFromLoginPage。它在我的开发环境中运行良好,但在我的生产环境中失败。

当我通过 dev 登录时,我得到这个 URL:

http://localhost:63509/Account/Login.aspx?ReturnUrl=%2fDefault.aspx

但是,当我将其推送到生产环境并登录时,我得到了这个 URL:

http://aaa.aaa.edu/Account/Login.aspx?ReturnUrl=%2f

我的 web.config 如下所示:

    <authentication mode="Forms">
        <forms loginUrl="Account/Login.aspx" timeout="300" defaultUrl="yourView.aspx" />
    </authentication>

我已验证我的 IIS 7 Web 服务器上的默认文档是 Default.aspx。我什至在 web.config 中设置了它以确保。

我能做些什么来解决这个问题吗? web.config 的授权部分如下所示:

    <authorization>
       <deny users="?" />
    </authorization>

谢谢

【问题讨论】:

  • 在您的生产示例中成功登录后,您最终会进入哪个页面?
  • 假设 default.aspx 被设置为您在目录中的主文档,那么/ 应该与/default.aspx 在重定向到的位置方面相同,所以我回应 Scrappydog 询问什么实际结果是……
  • 其实哪儿也去不了。它最终将我带到该文件夹​​中所有内容的文件夹列表。
  • 即使它不带我去任何地方,它也会让我登录。因为当我点击文件夹中的任何 .aspx 文件时,它显示我已登录。
  • 我认为您需要仔细检查此站点的默认文档配置...

标签: c# .net vb.net web-config


【解决方案1】:

在 web.config 中,该部分是什么样的?它应该是这样的:

<authorization>
   <deny users="?"/>
</authorization>

或者,可能是 cookie 问题。您是否在任何地方明确设置 FormsAuthentication.CookieDomain ?由于您使用的子域可能会导致问题。另外,请尝试清除缓存中的 cookie 或尝试通过其他浏览器登录,看看是否是 cookie 问题。

【讨论】:

  • FF、Chrome 和 IE 在我的生产环境中都做同样的事情。但它们都在我的开发环境中工作。
  • 生产服务器上的 IIS 是否设置为将 default.aspx 作为合法文档处理?
  • default.aspx 被设置为默认文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 2014-01-30
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多