如何在 mvc 应用程序中将登录页面设置为起始页面?

Posted

技术标签:

【中文标题】如何在 mvc 应用程序中将登录页面设置为起始页面?【英文标题】:How to set login page as start page in mvc application? 【发布时间】:2017-10-30 10:59:45 【问题描述】:

我正在使用 mvc 应用程序。我想为我的 mvc 应用程序添加一个登录页面。我为登录表单创建了一个 login.cshtml 文件(它包含用户名和密码)。当我运行项目时,它从主页开始。我想从登录页面开始。我怎样才能做到这一点?

【问题讨论】:

您使用的是 .net core 还是 mvc5? 我正在使用 mvc5 @NivithaG 最好的解决方案是 Zaheer Ul Hassan 之一。我也会这样做。 【参考方案1】:

转到解决方案中的App_Start 文件夹并打开RouteConfig.cs 并将此方法替换为您的代码:

public static void RegisterRoutes(RouteCollection routes)
    
        routes.IgnoreRoute("resource.axd/*pathInfo");
        routes.MapRoute(
            name: "Default",
            url: "controller/action/id",
            defaults: new  controller = "Account", action = "Login", id = UrlParameter.Optional 
        );
    

希望对你有帮助!

【讨论】:

@NivithaG 试试这个解决方案 谢谢。对我有用。【参考方案2】:

回答是因为我有同样的问题。我的代码在 startup.cs 中看起来像这样

app.UseEndpoints(endpoints =>
        
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "controller=Home/action=Index/id?");

        );

我将控制器的名称和索引更改为我希望它调用的控制器和索引。

app.UseEndpoints(endpoints =>
        
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "controller=Login/action=Register/id?");

        );

【讨论】:

【参考方案3】:

执行以下操作:

    在解决方案资源管理器中右键单击您的项目。选择 属性。 选择左侧的 Web 选项卡。 在开始操作部分下,定义您想要的特定页面 喜欢默认为应用程序启动的时间。 保存您的更改。

【讨论】:

【参考方案4】:

编辑:

我刚刚看到这是针对 MVC3 的。也许它可以帮助别人。

原文:

在您的 global.asax 文件中,RegisterRoutes 函数中指定了默认路由:

        routes.MapRoute(
            "Default",
            "controller/action/id",
            new  controller = "Site", action = "Index", id = UrlParameter.Optional 
        );

只需更改参数即可。

为了防止人们在未登录的情况下进入网站,您必须跟踪用户的登录状态,例如在用户会话中,并在调用操作时检查它。

【讨论】:

【参考方案5】:

转到HomeController.cs 并替换

public ActionResult Index()       

  return View();      

public ActionResult Index()       

  return View("Login");     

为此,您的login.cshtml 应位于Views/Home 文件夹中。 如果它在另一个文件夹中,那么试试这个:

public ActionResult Index()       

  return View("~/Views/YourFolderName/Login.cshtml");     

【讨论】:

以上是关于如何在 mvc 应用程序中将登录页面设置为起始页面?的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc怎么设置“起始页”

如何在 Spring MVC (JPA) 中将实体对象列表转换为页面对象?

asp.net mvc 设置启动页面在区域中

重定向到登录页面 asp.net

如何在 ASP .NET Core 2.1 中将登录页面设为默认路由?

使用 azure 上的区域和域的 Mvc 起始页