我正在开发一个 MVC3 项目,我必须添加一个登录机制。我必须使用<authentication>
方法。我以为这会自动将用户重定向到登录页面?但什么也没发生。
我的web.config
中有这个文件:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
但是我的登录 Controller 不会自动调用。我需要做什么才能让它按照我想要的方式工作?
最佳答案
如果用户尝试访问 protected 资源(例如用 [Authorize]
属性修饰的 Controller 操作)并且未通过身份验证,则用户将被重定向到登录页面。
如果您想使用 LogOn
操作作为起始页,那么您可以更新 Global.asax
中的路由设置,以提供默认 Controller 和操作:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional }
);
现在,当用户导航到 /
时,他将自动看到登录屏幕。
关于c# - MVC3项目中的表单例份验证、自动重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12783471/