c# - MVC3项目中的表单例份验证、自动重定向

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

我正在开发一个 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/

相关文章:

java - 如何使用Java登录网站

asp.net - MVC 在运行时更新 FormsAuthenticationTicket UserData

asp.net - 关于machinekey的安全

c# - 身份服务器 4 无限循环

Javascript 事件和函数触发器

c# - 使用 C# 的事件目录身份验证

c# - 如何在注销后放弃 Azure 应用服务 session

asp.net-mvc-3 - 在 ASP.NET MVC3 中混合基本身份验证和表单例份验证

asp.net-mvc - ASP.NET MVC 通过文件/文件路径确定 mime 类型

c# - 如何开始学习 Asp.Net MVC