Error: your connection to this site is not private Asp.Net. MVC5

Error: your connection to this site is not private Asp.Net. MVC5

我正在为 asp.net mvc 5 应用程序设置一个带有 windows Azure VM 的新服务器。除了一个控制器之外,我能够毫无问题地打开应用程序的每一页。即每当我尝试打开属于特定控制器的页面时,它会提示我输入用户名和密码,如下所示。

我在不同的 Windows Server 2016 VM 中使用相同的应用程序,没有任何问题。

我也没有看到 application/IIS 日志的任何错误。我在应用程序中没有任何 https 要求。

可能是什么导致了这种行为?

namespace App.Controllers
{
    public class ReportsController : BaseController
    {
        private readonly IReportRepository reportRepository;
        public ReportsController(): this(new ReportRepository()){
        }

        public ReportsController(IReportRepository reportRepository){
        this.reportRepository = reportRepository;
        }

        public ViewResult Action()
        {
           return View(reportRepository.All);
        }
    }
 }

namespace App.Controllers
{
    [Authorize]
    public class BaseController : Controller
    {
    }
 }

更新:我将 ReportsController 重命名为 AppReportsController,问题消失了。 即当我尝试访问

时收到上述提示

http://domain/Reports/Action

但不适用于

http://domain/AppReports/Action

有人能给我解释一下这是怎么回事吗?是不是说"Reports"是框架保留的什么的?

如果您在 Web 应用程序中不使用 transport layer security(即 HTTPS),浏览器会告诉您您与网站的连接不是私密的,并且要求您输入数据 - 在这种情况下你的凭据。这样做很危险,因为该数据很容易被恶意人员嗅探。

当今世界没有理由没有安全站点,我强烈建议您获得证书(它们是 free and super easy!)

我知道这是一个旧的 post 但是我偶然发现了这个,因为我遇到了与 OP 相同的错误。

我已经解决了这个问题,以防有人遇到同样的情况。 但解决方案可能会有所不同,具体取决于我们是否安装了相同的应用程序。

  1. 检查网络服务器/服务器是否安装了sql服务器。
  2. 检查是否安装了报告服务。
  3. 从应用程序控制面板删除/卸载报告服务 如果您不知道如何删除报告服务,请按照此 link How to remove Report Service

  4. 如果您仍然遇到同样的错误,请再次检查。干杯!

只是不要使用 "Reports",而是使用 "Report"。控制器名称 ReportController 而不是 ReportsController。会没事的。我遇到了这个问题,这就是我得到的解决方案。

这是一个身份验证问题。就我而言,它通过以下步骤解决: 1- 转到 IIS 管理器,在左窗格中,从站点节点展开服务器根目录和 select 您的 Web 应用程序。 2- 在主屏幕中,转到 IIS 部分和 select 身份验证。 3- 启用匿名身份验证。 4- 然后,select 编辑并将编辑匿名身份验证凭据设置为应用程序池标识。