C# 移动到VS 2012后,MVC3内部网应用程序未经授权
我有一个MVC3内部网应用程序,最初是在VS2010中开发的。我刚刚尝试在运行VS 2012的新机器上打开它,但我得到了以下信息: 错误消息401.2.:未经授权:由于服务器配置,登录失败。请验证您是否具有查看此目录的权限 或基于您提供的凭据和身份验证的页面 在Web服务器上启用的方法。请与Web服务器的管理员联系 管理员请求更多帮助 它配置为在本地IIS web服务器下运行(使用IIS express)。这个项目中有一个使用.svc文件的WCF服务,我可以很好地访问它。我只有在通过浏览器访问MVC站点时才会出现此错误。如果我将项目切换到使用VisualStudioDevelopmentServer,它似乎工作正常,但我必须在IIS Express下运行它,因为我需要能够远程访问该站点以测试某些功能 在web.config或项目属性中,我是否需要做些什么才能使该项目在VS 2012中正常工作 下面是my web.config中的一个片段C# 移动到VS 2012后,MVC3内部网应用程序未经授权,c#,asp.net-mvc-3,visual-studio-2012,iis-express,C#,Asp.net Mvc 3,Visual Studio 2012,Iis Express,我有一个MVC3内部网应用程序,最初是在VS2010中开发的。我刚刚尝试在运行VS 2012的新机器上打开它,但我得到了以下信息: 错误消息401.2.:未经授权:由于服务器配置,登录失败。请验证您是否具有查看此目录的权限 或基于您提供的凭据和身份验证的页面 在Web服务器上启用的方法。请与Web服务器的管理员联系 管理员请求更多帮助 它配置为在本地IIS web服务器下运行(使用IIS express)。这个项目中有一个使用.svc文件的WCF服务,我可以很好地访问它。我只有在通过浏览器访问M
<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>
这个问题的答案解决了我的问题: 我只是编辑了
applicationhost.config
文件以允许windows身份验证,并且该站点已在IIS Express下启动并运行:
<windowsAuthentication enabled="true">...</windowsAuthentication>
。。。
看起来很明显,但新机器上是否安装了MVC@Vaze是的,安装了MVC3以及2和4。要在IIS Express上启用MVC,我需要做些什么吗?只要安装了库,它们就可以与IIS Express一起正常工作。您的Windows身份验证似乎有问题。我现在猜,但是你能试着取出
部分吗?也许你可以看看这些帖子:@Vaze也行,但现在网站不识别我的用户名,也不提示输入我的用户名/密码。好了,看来我们找到问题了。这有帮助吗?