我设置的MVC3网站只启用了Windows身份验证(因此禁用匿名和表单)。每当我尝试点击默认页面时,都会将我转发到此URL;
... / MyApp的/帐户/登录?RETURNURL =%2fMyApp%2F
我得到一个错误;
无法找到资源。描述:HTTP 404.资源你 正在寻找(或其中一个依赖)可能已被删除, 更改名称,或暂时不可用。请查阅 以下URL并确保拼写正确。
请求的网址:/ MyApp /帐户/登录
我的web.config中没有配置为查找此URL的内容,但有一部分关于使用我删除的表单身份验证;
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
我应该重新配置此设置而不是彻底删除吗?我尝试添加它;
<authentication mode="Windows"></authentication>
但它仍然转发回到同一个地方。我在这里应该做些什么吗?
答案 0 :(得分:19)
好的,所以我看到了以下文章:http://martinnormark.com/asp-net-mvc-3-windows-authentication-problem-redirects-to-account-login
然后,我在应用程序设置部分的web.config中添加了以下键:
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
这解决了我的问题 - Windows身份验证现在按预期工作,并且没有更多重定向到不存在的登录页面。
答案 1 :(得分:4)
我们之前看过这个;它与此auth问题有关,但未被任何解决方案解决
Forms auth redirecting css/script includes to the login page with HTTP 302
我们的问题是只有一个额外的文件夹,其中dll被复制到bin目录中,不应该包含在部署中。手动删除bin&amp; obj目录和重建Web应用程序之后为我们清理它。
答案 2 :(得分:2)
检查您是否引用了WebMatrix.Data.dll
和WebMatrix.WebData.dll
文件,并尝试删除其引用。
如果您通过Add Deployable Dependencies
添加了引用,也请从_bin_deployableAssemblies
文件夹中删除。