c# – 网站要求MVC控制器上的“需要身份验证”,而不是其他人

前端之家收集整理的这篇文章主要介绍了c# – 网站要求MVC控制器上的“需要身份验证”,而不是其他人前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个asp.net C#MVC网站.它使用SimpleAuthentication和表单身份验证.一切正常,要求人们登录进入页面.但是,我有一个名为“ReportsController”的控制器.每当您转到此控制器中操作的URL时,它总是会弹出浏览器窗口中的“需要验证”.

它只是为这个控制器而不是任何其他控制器.该网址为“www.domain.com/reports”.当我从IIS和我的开发服务器运行时,此URL工作正常,但不在我的实时服务器上运行.这是运行IIS7.

我已经检查了我的web.config,它肯定是设置为Forms身份验证而不是Windows.

任何人都有任何想法为什么任何以“/ Reports”开头的网址都不起作用.我猜它是服务器特有的东西,比如IIS设置或web.config更改,但我无法弄清楚它会是什么.

namespace ProjectName.Controllers
{
    public class ReportsController : Controller
    {
        public ActionResult Index()
        {
            throw new SystemException("here");

            return View();
        }
    }
}

Web.config文件

<authentication mode="Forms">
  <forms loginUrl="~/" timeout="2880" />
</authentication>

解决方法

事实证明,sql Server Reporting Services正在服务器上运行.这可以控制该服务器上所有网站上的“/ Reports”URL.

我没有使用sql Server Reports,所以我去了服务器上的“Reporting Services配置管理器”并删除了它正在侦听的IP地址和端口.如果仍需要使用此URL,也可以更改它使用的URL.

猜你在找的C#相关文章