加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:44:03 所属栏目:百科 来源:网络整理
导读:我有一个asp.net C#MVC网站.它使用SimpleAuthentication和表单身份验证.一切正常,要求人们登录进入页面.但是,我有一个名为“ReportsController”的控制器.每当您转到此控制器中操作的URL时,它总是会弹出浏览器窗口中的“需要验证”. 它只是为这个控制器而不
我有一个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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读