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,问题消失了。
即当我尝试访问
时收到上述提示
但不适用于
有人能给我解释一下这是怎么回事吗?是不是说"Reports"是框架保留的什么的?
如果您在 Web 应用程序中不使用 transport layer security(即 HTTPS),浏览器会告诉您您与网站的连接不是私密的,并且要求您输入数据 - 在这种情况下你的凭据。这样做很危险,因为该数据很容易被恶意人员嗅探。
当今世界没有理由没有安全站点,我强烈建议您获得证书(它们是 free and super easy!)
我知道这是一个旧的 post 但是我偶然发现了这个,因为我遇到了与 OP 相同的错误。
我已经解决了这个问题,以防有人遇到同样的情况。
但解决方案可能会有所不同,具体取决于我们是否安装了相同的应用程序。
- 检查网络服务器/服务器是否安装了sql服务器。
- 检查是否安装了报告服务。
从应用程序控制面板删除/卸载报告服务
如果您不知道如何删除报告服务,请按照此 link How to remove Report Service
如果您仍然遇到同样的错误,请再次检查。干杯!
只是不要使用 "Reports",而是使用 "Report"。控制器名称 ReportController 而不是 ReportsController。会没事的。我遇到了这个问题,这就是我得到的解决方案。
这是一个身份验证问题。就我而言,它通过以下步骤解决:
1- 转到 IIS 管理器,在左窗格中,从站点节点展开服务器根目录和 select 您的 Web 应用程序。
2- 在主屏幕中,转到 IIS 部分和 select 身份验证。
3- 启用匿名身份验证。
4- 然后,select 编辑并将编辑匿名身份验证凭据设置为应用程序池标识。
我正在为 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,问题消失了。 即当我尝试访问
时收到上述提示但不适用于
有人能给我解释一下这是怎么回事吗?是不是说"Reports"是框架保留的什么的?
如果您在 Web 应用程序中不使用 transport layer security(即 HTTPS),浏览器会告诉您您与网站的连接不是私密的,并且要求您输入数据 - 在这种情况下你的凭据。这样做很危险,因为该数据很容易被恶意人员嗅探。
当今世界没有理由没有安全站点,我强烈建议您获得证书(它们是 free and super easy!)
我知道这是一个旧的 post 但是我偶然发现了这个,因为我遇到了与 OP 相同的错误。
我已经解决了这个问题,以防有人遇到同样的情况。 但解决方案可能会有所不同,具体取决于我们是否安装了相同的应用程序。
- 检查网络服务器/服务器是否安装了sql服务器。
- 检查是否安装了报告服务。
从应用程序控制面板删除/卸载报告服务 如果您不知道如何删除报告服务,请按照此 link How to remove Report Service
如果您仍然遇到同样的错误,请再次检查。干杯!
只是不要使用 "Reports",而是使用 "Report"。控制器名称 ReportController 而不是 ReportsController。会没事的。我遇到了这个问题,这就是我得到的解决方案。
这是一个身份验证问题。就我而言,它通过以下步骤解决: 1- 转到 IIS 管理器,在左窗格中,从站点节点展开服务器根目录和 select 您的 Web 应用程序。 2- 在主屏幕中,转到 IIS 部分和 select 身份验证。 3- 启用匿名身份验证。 4- 然后,select 编辑并将编辑匿名身份验证凭据设置为应用程序池标识。