我在IIS 7.5上托管了一个ASP.NET网站,如下所示:
我有“customwebsite.com”作为网站,其中我有两个Web应用程序 - uk&我们 - 以便我可以访问这些应用程序作为customwebsite.com/uk& customwebsite.com/us。
customwebsite.com目录没有任何web.config,只有两个用于web应用程序的文件夹我们和英国。
我们和英国的Web应用程序都有自己的web.config,并具有如下指定的表单身份验证:
<authentication mode="Forms">
<forms loginUrl="/static/login.aspx" name="login" timeout="20"/>
</authentication>
<authorization>
<deny users="?" />
</authorization>
在此路径:/ static,有一个带有以下内容的web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</configuration>
当我点击我们应用程序的根URL时,网站正确加载但如果我从英国加载,我收到如下错误:
我已经检查了文件夹安全性,并且所有必需的用户都被授予了许可,并且对于我们和英国的应用程序都是相同的。
我已检查过IIS日志,以下是失败时请求的响应代码:401 0 0 1519 296
有人可以帮我解决这个问题。
答案 0 :(得分:4)
解决了。
还有两个文件夹,其中发生了/static/login.aspx的重定向。
我们需要允许访问所有此类重定向文件夹,方法是在这些文件夹中包含以下内容的web.config文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</configuration>
答案 1 :(得分:1)
遇到同样的错误,但有不同的分辨率。在我们的例子中,我们必须设置:
<machineKey compatibilityMode="Framework45" />
详细信息: http://ardalis.com/asp-net-shared-authentication-problem-solved
答案 2 :(得分:0)
在我们的案例中,我们在登录页面上发生错误,该错误重定向到用户无权查看的错误页面,因此重定向到登录页面...循环冲洗重复。
我们从UI中删除了所有控件,然后逐个添加它们直到页面崩溃。然后我们可以缩小有错误的控件。
是的,我们让所有用户都可以访问错误页面。
答案 3 :(得分:0)
检查下面的 IIS 设置