我有一个 asp.net C# MVC 网站。它使用 SimpleAuthentication 和表单身份验证。一切正常,需要人们登录才能访问页面。但是,我有一个名为“ReportsController”的控制器。每当您访问此控制器中操作的 URL 时,它总是会在浏览器窗口中弹出“需要身份验证”。
它仅针对该控制器执行此操作,而不针对任何其他控制器执行此操作。 URL 将为“www.domain.com/reports”。当我从 IIS 和开发服务器运行时,此 URL 工作正常,但在实时服务器上则不行。这是运行 IIS7。
我检查了我的 web.config,它肯定设置为表单身份验证而不是 Windows。
任何人都知道为什么任何以“/Reports”开头的网址不起作用。我猜测这是服务器特有的内容,例如 IIS 设置或 web.config 更改,但我无法弄清楚这是什么。
namespace ProjectName.Controllers
{
public class ReportsController : Controller
{
public ActionResult Index()
{
throw new SystemException("here");
return View();
}
}
}
网页配置:
<authentication mode="Forms">
<forms loginUrl="~/" timeout="2880" />
</authentication>
事实证明,Sql Server Reporting Services 正在服务器上运行。这控制了该服务器上所有网站上的“/Reports”URL。
我没有使用 SQL Server Reports,因此我转到服务器上的“Reporting Services 配置管理器”并删除了它正在侦听的 IP 地址和端口。如果您仍然需要使用它,您也可以更改它使用的 URL。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)