【问题标题】:How to set an aspx page as homepage in ASP.net MVC? [duplicate]如何在 ASP.net MVC 中将 aspx 页面设置为主页? [复制]
【发布时间】:2018-10-17 07:58:57
【问题描述】:

我正在开发一个 Web 应用程序,它的默认主页位于 Views>>Home>>Index.cshtml。它默认创建。现在我需要用 login.aspx 页面替换它,这样当用户访问我的网站时,它会自动将他重定向到 login.aspx 页面。我是 MVC 和 C# 的新手,请详细证明我的解决方案。如果你会写代码,那对我很有帮助。

【问题讨论】:

  • 这不是替换默认主页的情况,而是实施能够重定向未登录用户的身份验证系统的情况。幸运的是,MVC 提供了这样的东西盒子。简单地替换默认主页本身并不能提供任何安全性,因为用户可以简单地键入不同页面的名称。您需要一个完整的系统来检查用户每次向应用程序发出任何类型的请求时的登录状态。 .默认主页可以保持不变,只是未经身份验证的任何人都必须先登录。

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

您可以使用以下技巧:

RouteConfig.cs 文件中的默认路由设置不做任何更改,如下所示。

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

并且在 Home Controller 的 ActionResult Index 中,您可以设置您的授权条款。

如果您使用 会话变量 管理它,那么您可以设置:

 public ActionResult Index()
        {
            if (Session["Login"] == false)
            {
                return Redirect("~/Login.aspx");
            }
}

或者,如果您使用的是 MVC 授权,那么您可以将 Action 设置为 [Authorize]

注意:这个东西在会话被清除或者是假的时候起作用。

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 2012-04-19
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多