我正在研究一个MVC3项目,我必须添加一个登录机制。我必须使用<authentication>
方法。我以为这会自动将用户重定向到登录页面?但没有任何事情发生。
我在web.config
文件中有这个:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
但我的登录控制器不会自动调用。我需要做些什么才能让它按照我想要的方式工作?
答案 0 :(得分:6)
如果用户尝试访问受保护资源(例如,使用[Authorize]
属性修饰的控制器操作)并且未经过身份验证,则会将用户重定向到LogOn页面。
如果您想使用LogOn
操作作为起始页,那么您可以在Global.asax
中更新路线设置,以便提供默认控制器和操作:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional }
);
现在,当用户导航到/
时,他将自动显示登录屏幕。