在MVC3项目中进行表单身份验证,自动重定向

时间:2012-10-08 14:10:42

标签: c# asp.net-mvc-3 forms-authentication

我正在研究一个MVC3项目,我必须添加一个登录机制。我必须使用<authentication>方法。我以为这会自动将用户重定向到登录页面?但没有任何事情发生。

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

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

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

1 个答案:

答案 0 :(得分:6)

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

如果您想使用LogOn操作作为起始页,那么您可以在Global.asax中更新路线设置,以便提供默认控制器和操作:

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

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