每当我限制 MVC 站点中的匿名访问时,我都会收到 404 错误:
“/”应用程序中的服务器错误。
无法找到该资源。
描述:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL:/Account/Login
我刚刚开始玩MVC)第一次,在让我现有的会员提供商工作后,我想锁定该网站以防止匿名访问。我尝试使用 web.config 的传统方式:
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
但即使我明确允许匿名访问登录页面,也会出现上述错误。
我也尝试了中提到的技术顾斯科特的博客 http://weblogs.asp.net/scottgu/archive/2008/07/14/asp-net-mvc-preview-4-release-part-1.aspx并通过在 HomeController 中添加 [Authorize] 属性来保护“关于”页面
[Authorize]
public ActionResult About()
{
return View();
}
但当我尝试访问该页面时遇到了同样的错误。
我什至尝试过在单独的机器上进行全新安装。
那么如何在 ASP.Net MVC RC1 刷新中启用授权呢?
默认 Web.Config 包含错误。它有:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login"/>
</authentication>
这应该是:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn"/>
</authentication>
(对不起,我问并回答我自己的问题,但我花了很长时间才发现这一点,并且无法通过谷歌或SO找到任何线索。如果此内容之前已发布,请随时关闭)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)