我有一个 MVC3 内网应用程序,最初是在 VS 2010 中开发的。我只是试图在运行 VS 2012 的新机器上打开它,但我得到了这个:
错误消息 401.2.:未经授权:由于服务器配置,登录失败。根据您提供的凭据和 Web 服务器上启用的身份验证方法,验证您是否有权查看此目录或页面。请与 Web 服务器的管理员联系以获得更多帮助。
它被配置为在本地 IIS Web 服务器下运行(使用 IIS express)。这个项目中有一个使用 .svc 文件的 WCF 服务,我可以很好地访问它。我只在通过浏览器访问 MVC 站点时收到此错误。如果我将项目切换到使用 Visual Studio 开发服务器,它似乎工作正常,但我必须在 IIS Express 下运行它,因为我需要能够远程访问该站点以测试某些功能。
我必须在 web.config 或项目属性中做些什么才能使这个项目在 VS 2012 中工作?
这是我的 web.config 中的一个片段
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<customErrors mode="Off" />
<httpModules>
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
</httpModules>