2012-07-17 102 views
0

我在我的vb.net web应用程序(.net 4)中使用RedirectFromLoginPage。它在我的开发环境中工作正常,但在我的生产环境中失败。我的returnURL在生产中不工作

当我通过开发登录,我得到这个网址:

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

然而,当我把它推到生产,登录,我得到这个网址:

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> 

感谢

+2

在您的制作示例中成功登录后,您最终得到了哪一页? – Scrappydog 2012-07-17 16:04:46

+1

假设default.aspx被设置为目录中的主文档,那么'/'应该与'/ default.aspx'相同,因为它重定向到的位置,所以我回应Scrappydog询问实际结果。 .. – Chris 2012-07-17 16:11:38

+0

其实它不会去任何地方。它最终将我带到了该文件夹中所有内容的文件夹列表。 – SkyeBoniwell 2012-07-17 16:58:34

回答

1

在web.config,是什么节是什么样子?它应该如下所示:

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

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

+0

它看起来就是这样...... – SkyeBoniwell 2012-07-17 16:57:47

+0

FF,Chrome和IE在我的生产环境中都做同样的事情。但是他们都在我的开发环境中工作。 – SkyeBoniwell 2012-07-17 17:02:03

+1

生产服务器上的IIS是否将default.aspx作为合法文档处理? – gws2 2012-07-17 17:32:08