我在MVC项目中定义了一个名为Account的区域,在这个区域的视图下我有Logon.cshtml。在web.config中,我得到了以下
<authentication mode="Forms">
<forms loginUrl="~/Areas/Account/LogOn" timeout="600" />
</authentication>
我在控制器上使用Authorize属性,但是当我运行项目时,会出现以下错误
>“/”应用程序中的服务器错误 无法找到资源 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确 请求的URL:/ Areas / Account / LogOn
任何想法我做错了什么?
答案 0 :(得分:0)
虽然文件存储在名为Area
的文件夹中,但这并不意味着到此文件的路由是/areas/account/logon
。
查看“帐户”文件夹中的AccountAreaRegistration.cs
。此文件中定义的AreaName
(最有可能是Account
)是到该区域的路径的初始部分。此外,context.MapRoute
行将具有您所在区域的默认路线。
很有可能,特别是如果您没有编辑区域注册文件,则放入web.config的正确路径为~/account/logon
。