2010-09-23 55 views
2

我们已经建立一个新的Windows 2003服务器IIS6.0 & ASP.NET 2.0中发现一个奇怪的问题,我们的网站使用与一般授权ASP.NET表单认证内置拒绝所有用户的访问&明确允许静态,主页等等, - web.config中设置窗体身份验证如下寻找:ASP.NET身份验证,排除根和允许匿名

 <authentication mode="Forms"> 
     <forms name="appNameAuth" path="/" loginUrl="~/Pages/Users/Login.aspx" protection="All" timeout="60" defaultUrl="~/Pages/Inner.aspx"> 
     </forms> 
    </authentication> 
    <authorization> 
     <deny users="?"/> 
    </authorization> 

问题是:

如果我们访问该站点localhost/default.aspx正常工作&可以查看我们网站的主页,但如果我们的配置ss使用本地主机/ - 期望查看default.aspx(因为它被设置为默认文档),但由于某种原因,ASP.NET Forms Authentication认为“/”是受保护的页面或内容&将我重定向到登录页面。

我无法找到通知“/”为allow = *,在web.config中...认为它可能与某些NTFS链接& IIS权限问题与文件夹,无法获得更多的关于..

任何帮助来解决这一问题,将不胜感激。

感谢

卜哈斯卡瑞

回答

1

上周末,上述问题重新浮现在我们的服务器上,而...做一些其他的配置更改&最终找到问题的根本原因(而不是简单的“重新建立“网站建议较早)。

这里是问题&解决方案:

  1. 我们有我们的主要网站一样简单ASP.NET基于&不MVC应用程序。

  2. 网站包含1个虚拟目录,根据MVC框架&建立MVC(http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis- 6- walkthrough.aspx) - 我们应该设置的.mvc图案分机&后续通配符映射更少网址

  3. 错误,我们所做的是,代替在虚拟目录设置MVC性能,它是设置在根级别...主要网站设置为形式验证&通配符映射结束触发asp.net形式验证

  4. 问题解决,当根&只对虚拟目录设置删除通配符映射(即没有设置与asp.net权威性&允许匿名访问的所有页面)

相关问题