MVC网站仅启用Windows身份验证,转发到/帐户/登录

时间:2012-09-03 07:34:40

标签: asp.net-mvc windows-authentication

我设置的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>

但它仍然转发回到同一个地方。我在这里应该做些什么吗?

3 个答案:

答案 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.dllWebMatrix.WebData.dll文件,并尝试删除其引用。

如果您通过Add Deployable Dependencies添加了引用,也请从_bin_deployableAssemblies文件夹中删除。