【发布时间】:2011-04-12 05:39:30
【问题描述】:
我在做什么
我正在使用 Visual Studio 2010 构建一个具有 Windows 身份验证的 MVC2 网站。我想使用 IIS7 调试该网站并从虚拟机中的浏览器访问它(以便使用具有不同权限的不同用户登录)。
问题
当我尝试从我的虚拟机访问我的网站时,我收到以下错误:
403 - 禁止:访问被拒绝。 您无权使用您提供的凭据查看此目录或页面。
环境
我将 Visual Studio 2010 设置为使用 IIS 进行调试并设置为“不要打开页面。等待来自外部应用程序的请求。”我在主机上的 IIS7 中创建了 www.myWebsite.com,并且只启用了 Windows 身份验证。
我已在虚拟机和主机上的 hosts 文件中进行了适当的输入,因此当我在虚拟机的浏览器中键入 www.mywebsite.com 时,它会针对我在 IIS7 上设置的网站。
我通过使用相同的设置来设置 html 网站(具有相同的 web.config 安全设置)测试了我的 IIS7 设置过程,并且我可以从我的虚拟机访问它。出于这个原因,我认为这个问题与我的应用程序有关。 IIS7 设置为使用 .net 4.0 和集成管道模式。
代码
这是我的 web.config 文件:
connectionString="metadata=res:///Models.ReportDB.csdl|res:///Models.ReportDB.ssdl|
res://*/Models.ReportDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=JDOE-
PC;初始目录=ADVENTUREWORKSDB;Integrated Security=True;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
res:///Models.WDB.ssdl|res:///Models.WDB.msl;provider=System.Data.SqlClient;provider 连接
string="数据源=JDOE-PC;初始目录=WarehouseDB;集成
Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
PublicKeyToken=31BF3856AD364E35" />
PublicKeyToken=31BF3856AD364E35" />
PublicKeyToken=31BF3856AD364E35" />
PublicKeyToken=b77a5c561934e089" />
type="System.Web.Security.WindowsTokenRoleProvider"/>
type="System.Web.Security.WindowsTokenRoleProvider"/>
type="System.Web.Security.WindowsTokenRoleProvider" />
【问题讨论】:
-
注意:由于某种原因,并非我粘贴的所有配置代码都显示出来。如果有人可以重新格式化它会很好。
-
-
-
从虚拟机浏览网站时是否收到输入凭据的请求?
-
是的,我确实收到了凭据请求。
标签: visual-studio-2010 asp.net-mvc-2 iis-7 windows-authentication remote-debugging