14

我有一个 MVC3 网站,仅启用了 Windows 身份验证(因此匿名和表单被禁用)。每当我尝试点击默认页面时,都会有一些东西将我转发到这个 URL;

.../MyApp/Account/Login?ReturnUrl=%2fMyApp%2f

我得到一个错误;

无法找到该资源。说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 URL:/MyApp/Account/Login

我的 web.config 中没有任何内容被配置为查找此 URL,但是我删除了有关使用表单身份验证的部分;

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

我应该重新配置此设置而不是彻底删除它吗?我尝试添加它;

<authentication mode="Windows"></authentication>

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

4

3 回答 3

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 身份验证现在按预期工作,并且不再重定向到不存在的登录页面。

于 2012-09-18T14:16:46.897 回答
4

当我们以前看到这个时;它与此身份验证问题有关,但任何解决方案均未解决

将 css/script 重定向到带有 HTTP 302 的登录页面的表单身份验证

我们的问题只是有一个额外的文件夹,其中包含复制到 bin 目录的 dll,而该文件夹不应该包含在部署中。手动删除 bin 和 obj 目录并在为我们清除它之后重建 Web 应用程序。

于 2012-09-13T12:40:27.397 回答
2

检查您是否有对WebMatrix.Data.dllWebMatrix.WebData.dll文件的引用,并尝试删除它们的引用。

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

于 2012-09-18T14:19:34.250 回答