2

我正在开发一个 MVC3 项目,我必须添加一个登录机制。我必须使用<authentication>方法。我认为这会自动将用户重定向到登录页面?但什么都没有发生。

我的web.config文件中有这个:

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

但是我的登录控制器不会自动调用。我该怎么做才能让它按我想要的方式工作?

4

1 回答 1

6

如果用户尝试访问受保护的资源(例如用该[Authorize]属性修饰的控制器操作)并且未通过身份验证,则用户将被重定向到登录页面。

如果您想将该LogOn操作用作您的起始页,那么您可以更新您的路由设置Global.asax以提供默认控制器和操作:

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Account", action = "LogOn", id = UrlParameter.Optional }
);

现在,当用户导航到时,/ 他将自动看到登录屏幕。

于 2012-10-08T14:12:55.897 回答