我有一个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>
答案 0 :(得分:0)
这个问题的答案解决了我的问题:
Windows authentication does not work
我只是编辑了applicationhost.config
文件以允许Windows身份验证,并且该站点已启动并在IIS Express下运行:
<windowsAuthentication enabled="true">...</windowsAuthentication>