0

我有一个c#.net MVC3运行在Windows Server 2008 R2 Datacenter.

如果我将应用程序部署为主站点下的应用程序(即www.mysite.com/crm),它可以完美运行。

如果我将应用程序作为子域部署到主站点(即crm.mysite.com),它似乎按预期工作,除了一个端点(crm.mysite.com/reports/view)。该路径返回以下身份验证通知:

Authentication Required
The server http://crm.mysite.com:80 requires a username and password.

我不知道该端点有什么特别之处,正如我所提到的,它在部署在主站点下时可以正常工作。

什么会导致这个?如何删除/防止它?

我什至不知道提供什么代码来帮助诊断问题。如果您想查看与此问题相关的任何部分的部分代码,请告诉我。

更新

对于任何一种情况,我都不会移动应用程序文件的路径,它们都使用相同的应用程序池。唯一的区别是用户如何通过IIS.

更新2

如果我对用户进行身份验证,则会收到此错误:

Server Error in '/Reports' Application.

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

为什么它会认为资源不存在,而它显然存在?

4

1 回答 1

0

如果您在主站点上进行了身份验证,它不会自动将身份验证传递到子域。您必须开发一种机制来处理这种情况,例如 SSO(单点登录)。

另一个潜在问题是目录/应用程序的权限(例如c:\inetpub\wwwroot\crm.mysite.com

于 2013-08-29T01:41:42.880 回答