2010-03-23 44 views
1

这是我的问题。我有一个ASPX网站,我有代码在那里重定向从登录页面调用“FormsAuthentication.RedirectFromLoginPage(username,false);”这将用户从根网站文件夹发送到'website/Admin /'。我在'website/Admin /'中有一个'default.aspx'页面,并且重定向的调用工作在我们目前正在运行的网站的以前版本上,但是我在单独的测试服务器上更新的那个版本不起作用。它给了我错误“目录列表被拒绝,这个虚拟目录不允许列出内容。”我有这样的配置文件:ASPX FormsAuthentication.RedirectFromLoginPage函数不再工作

<authorization> 
    <allow users="*" /> 
</authorization> 

下的“身份验证”选项,并...

<location path="Admin"> 
    <system.web> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    </system.web> 
</location> 

为管理员的位置。

此外,web.config,Login.aspx或当前服务器上的default.aspx文件与测试服务器上的default.aspx文件之间的代码没有区别,所以我很困惑为什么重定向对两者都无效。它甚至可以在Visual Studio服务器环境中工作,其代码也完全相同。

任何建议和帮助表示赞赏。

+0

是default.aspx肯定在该虚拟目录的默认文档列表中?这是我要检查的第一件事。 – Pike65 2010-03-23 18:09:47

+0

如果代码与您所说的完全相同,那么我肯定会查看托管网站的配置,从Pike65提供的建议开始。 – mwright 2010-03-23 18:13:24

+0

我实际上无法访问该计算机(远程服务器),因此我无法检查,但我确实知道,在我们上传更新的网站之前,这一切都在测试服务器上运行。 – 2010-03-23 18:19:59

回答

1

Directory Listing Denied是一个IIS错误,指出不允许在服务器上浏览目录。如果你看到这个,这意味着当浏览到Website/Admin时,服务器没有找到任何预期的默认文档,然后尝试通过浏览器向你显示文件目录(预期行为)。 IIS设置为不允许在你的情况下(这是一件好事)。

您可以联系服务器管理员并要求他们验证网站的默认文档,并将Default.aspx添加到列表中吗?如果没有,至少要知道站点设置中的默认文件名是什么,并在此基础上命名您的根页面。

我认为默认情况下IIS使用Default.htm也许另一个。即使在使用IIS注册asp.net时,我也不相信Default.aspx已被添加。它必须手动完成。

+0

我们需要一个快速解决方案,显然我的老板说他们之前有类似的问题,我不知道。我们结束了向该目录投掷'index.html'页面的代码,通过html重定向: 它现在完全重定向到default.aspx页面。如果将来将默认页面从列表中删除,这应该解决我们的问题。 – 2010-03-23 21:24:15