微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/csharp/96774.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐