ASP.NET 页面获取 Windows 身份验证提示
ASP.NET page getting Windows Authentication Prompt
我有一个使用 C# 的 asp.net 网站。它使用表单身份验证来登录用户。我们最近更换了托管服务提供商,并从 Windows Server 2000 迁移到 Windows Server 2012 R2,因此 IIS 发生了很大变化。自移动以来,该网站按预期工作,但 1 个区域除外。每当我们尝试访问特定目录中的 .aspx 页面时,系统都会提示我们输入 Windows 凭据。
这仅发生在"reports"目录中。我们在其他目录中有其他页面,访问这些页面时没有得到提示。
我确保 "reports" 目录与所有其他目录具有相同的权限:
而且我还确保为 "reports" 目录启用了匿名和表单身份验证。
我的 web.config 非常简单,看起来像这样:
<authentication mode="Forms">
<forms loginUrl="WebPortal.aspx" protection="All" timeout="50000000" name=".ASPXAUTH" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="WebPortal.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false" />
<allow users="*"/>
这是 "Reports" 文件夹中的身份验证选项:
我还要注意 Windows 身份验证功能未安装在此服务器上:
如能提供任何帮助或指导,我们将不胜感激。
在对各种关键字进行看似无穷无尽的 Google 搜索之后,我找到了这个 link http://forums.iis.net/t/1163972.aspx,它包含了答案。
简而言之,如果您的服务器上安装了 Report Services(在我的例子中,它是),您不能有一个名为 "Reports" 的子文件夹...因为服务器认为它是一个 Reports服务文件夹,需要 windows 凭据。我重命名了该文件夹并且它有效。
我有一个使用 C# 的 asp.net 网站。它使用表单身份验证来登录用户。我们最近更换了托管服务提供商,并从 Windows Server 2000 迁移到 Windows Server 2012 R2,因此 IIS 发生了很大变化。自移动以来,该网站按预期工作,但 1 个区域除外。每当我们尝试访问特定目录中的 .aspx 页面时,系统都会提示我们输入 Windows 凭据。
这仅发生在"reports"目录中。我们在其他目录中有其他页面,访问这些页面时没有得到提示。
我确保 "reports" 目录与所有其他目录具有相同的权限:
而且我还确保为 "reports" 目录启用了匿名和表单身份验证。
我的 web.config 非常简单,看起来像这样:
<authentication mode="Forms">
<forms loginUrl="WebPortal.aspx" protection="All" timeout="50000000" name=".ASPXAUTH" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="WebPortal.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false" />
<allow users="*"/>
这是 "Reports" 文件夹中的身份验证选项:
我还要注意 Windows 身份验证功能未安装在此服务器上:
如能提供任何帮助或指导,我们将不胜感激。
在对各种关键字进行看似无穷无尽的 Google 搜索之后,我找到了这个 link http://forums.iis.net/t/1163972.aspx,它包含了答案。
简而言之,如果您的服务器上安装了 Report Services(在我的例子中,它是),您不能有一个名为 "Reports" 的子文件夹...因为服务器认为它是一个 Reports服务文件夹,需要 windows 凭据。我重命名了该文件夹并且它有效。