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

     2023-03-27     127

关键词:

【中文标题】如何在 ASP .NET Core 2.1 中将登录页面设为默认路由?【英文标题】:How to make Login page as a default route in ASP .NET Core 2.1? 【发布时间】:2019-01-01 12:52:25 【问题描述】:

我是 ASP .NET Core 2.1 的初学者,正在开发使用 ASP .NET Core 2.1 和个人身份验证的项目。我想让我的登录页面作为我的默认路由而不是主页/索引:

            routes.MapRoute(
                name: "default",
                template: "controller=Home/action=Index/id?");

任何帮助我如何将其更改为 ASP .NET Core 2.1,因为登录现在用作剃须刀页面而不是 MVC 操作视图。

【问题讨论】:

好吧,如果您将 [Authorize] 放在主页/索引控制器的顶部,它会在尝试访问主页时重新路由到您的登录页面 @DarthTommy 如果没有家庭控制器怎么办? 您提供的@numbtongue 链接与路由无关。 【参考方案1】:

ConfigureServices 方法中使用它。

services.AddMvc().AddRazorPagesOptions(options=> 
   options.Conventions.AddAreaPageRoute("Identity", "/Account/Login",""); 
).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

然后在配置方法

 app.UseMvc(routes =>
        
            routes.MapRoute(
               name: "default",
               template: "controller=Home/action=Index/id?");

        );

【讨论】:

我已经在我的网站上测试过了,它工作正常。 那么还有比这更多的变化吗? 啊。是的。我的网络应用中没有 index.cshtml 页面。 是的,一旦您删除了 Index.cshtml 文件,它就会像冠军一样工作。在删除之前无法覆盖默认值。【参考方案2】:

我通过在ConfigureServices 函数 (Startup.cs) 中使用此代码来解决此问题

services.AddMvc().AddRazorPagesOptions(options => 
     options.Conventions.AddAreaPageRoute("Identity", "/Account/Login", "/Account/Login");
).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

【讨论】:

这对我也有用,除了我想要 website.com/login 或 website.com/logout options.Conventions.AddAreaPageRoute("Identity", "/Account/Login", "/Login" ); options.Conventions.AddAreaPageRoute("Identity", "/Account/Logout", "/Logout");【参考方案3】:

这可能会有所帮助,我不需要自己更改默认页面

https://exceptionnotfound.net/setting-a-custom-default-page-in-asp-net-core-razor-pages/

【讨论】:

【参考方案4】:

只需在您的配置中使用它。这会将 AuthorizeAttribute 添加到您的页面

services.AddMvc()
.AddRazorPagesOptions(options =>

    options.Conventions.AuthorizePage("/Home/Index");
);

或者像这样更改默认路由:

services.AddMvc().AddRazorPagesOptions(options =>

    options.Conventions.AddPageRoute("/Employees/Index", "");
);

如有必要,请参阅此页面:https://docs.microsoft.com/en-us/aspnet/core/security/authorization/razor-pages-authorization?view=aspnetcore-2.1

【讨论】:

【参考方案5】:

将此代码插入 Startup.cs 中的 ConfigureServices()


   services.AddMvc().AddRazorPagesOptions(options =>
   
       //Registering 'Page','route-name'
       options.Conventions.AddPageRoute("/Account/Login", "");
   );

记得删除“/Account/Login”操作声明中的任何路由名称

【讨论】:

【参考方案6】:

经过一段时间我解决了它。需要为 AREAS 添加 ALLOW =>

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
            .AddRazorPagesOptions(options =>
        
            options.AllowAreas = true; //--working after add this line
            options.Conventions.AddAreaPageRoute("Identity", "/Account/Login", "");
        );

【讨论】:

【参考方案7】:

添加授权策略,使应用程序默认要求用户对abc文件夹下的页面进行身份验证,并且不要求abc文件夹下的某些公共页面。

services.AddRazorPages().AddRazorPagesOptions(options =>
          
             options.Conventions.AuthorizePage("/abc");
             options.Conventions.AllowAnonymousToPage("/abc/PublicPage");
           );  

【讨论】:

防止 AddRedirectToWwwPermanent() 在 ASP.NET Core 2.1 中将“www”添加到 *.azurewebsites.net 的前面

】防止AddRedirectToWwwPermanent()在ASP.NETCore2.1中将“www”添加到*.azurewebsites.net的前面【英文标题】:PreventAddRedirectToWwwPermanent()fromadding"www"tothefrontof*.azurewebsites.netinASP.NETCore2.1【发布时间】:2019-03-0723:59:58【问题描述 查看详情

在 ASP.NET Core 2.1 中将 json 数据列表传递给 HttpPost 控制器

】在ASP.NETCore2.1中将json数据列表传递给HttpPost控制器【英文标题】:PassingjsondatalisttoHttpPostcontrollerinASP.NETCore2.1【发布时间】:2020-04-1220:42:36【问题描述】:我有一个模型:publicclassNotificationsDeliveryTypesIdspublicintNotificationGroupIdget;set... 查看详情

如何轻松地从 ASP.NET Core 2.1 迁移到 2.2?

】如何轻松地从ASP.NETCore2.1迁移到2.2?【英文标题】:HowcanImigratefromASP.NETCore2.1to2.2easily?【发布时间】:2018-12-0622:16:53【问题描述】:我有一个由asp.netcore2.1制作的项目,现在我想迁移到2.2版本。我安装了2.2的SDK,在项目的属性中... 查看详情

如何在 ASP.NET Core 中将角色添加到 Windows 身份验证

】如何在ASP.NETCore中将角色添加到Windows身份验证【英文标题】:HowtoaddRolestoWindowsAuthenticationinASP.NETCore【发布时间】:2017-03-0513:47:18【问题描述】:我在VisualStudio2015中创建了一个带有Windows身份验证的asp.net核心项目。我不知道如... 查看详情

如何在 asp.net core 2.1 中使用 net.tcp 服务

】如何在asp.netcore2.1中使用net.tcp服务【英文标题】:HowdoIconsumeanet.tcpserviceinasp.netcore2.1【发布时间】:2019-04-0212:26:44【问题描述】:我正在构建一个asp.netcore2.1Web应用程序,我需要调用一个旧的net.tcp端点来获取有关预订的详细信... 查看详情

如何在 ASP.NET CORE 5.0 MVC 中将登录设置为默认路由

】如何在ASP.NETCORE5.0MVC中将登录设置为默认路由【英文标题】:HowtomakeLoginasDefaultrouteinASP.NETCORE5.0MVC【发布时间】:2021-03-2512:30:43【问题描述】:我试图在加载应用程序时在第一次启动时加载登录页面。到目前为止我尝试了什么... 查看详情

如何在 asp.net core 2.1 中使用自定义消息设置状态代码?

】如何在asp.netcore2.1中使用自定义消息设置状态代码?【英文标题】:HowdoIsetthestatuscodewithcustommessageinasp.netcore2.1?【发布时间】:2019-09-0811:21:37【问题描述】:我正在使用2.1版asp.net核心,我创建了一个示例API项目,该项目运行良... 查看详情

如何在 ASP.NET Core 2.1 中使用自动完成输入引发模式

】如何在ASP.NETCore2.1中使用自动完成输入引发模式【英文标题】:HowtoraiseamodalwithanautocompleteinputinASP.NETCore2.1【发布时间】:2020-11-2302:32:09【问题描述】:我需要在ASP-NETCore2.1的模式中实现JQuery自动完成问题是它没有显示任何东西... 查看详情

如何在 Asp.Net Core Mvc 5.0 中将 sql 数据库与 ado.net 连接?

】如何在Asp.NetCoreMvc5.0中将sql数据库与ado.net连接?【英文标题】:HowtoconnectsqlDatabasewithado.netinAsp.NetCoreMvc5.0?【发布时间】:2021-07-2716:40:20【问题描述】:我找不到我在哪里失踪。我的代码是这样的;users.cs:usingSystem;usingSystem.Coll... 查看详情

如何在 ASP.NET Core Web API 2.1 中添加 WCF 服务引用

】如何在ASP.NETCoreWebAPI2.1中添加WCF服务引用【英文标题】:HowtoaddWCFServicereferenceinASP.NETCorewebAPI2.1【发布时间】:2021-03-2618:22:54【问题描述】:我尝试在我的ASP.netCoreWebAPI中添加服务引用,但出现以下错误:Unabletogeneratedeps.json,itmay... 查看详情

如何在 C# 中将数据发送到 ASP.NET Core MVC 控制器?

】如何在C#中将数据发送到ASP.NETCoreMVC控制器?【英文标题】:HowtosenddatatotheASP.NETCoreMVCcontrollerinC#?【发布时间】:2020-10-2105:20:27【问题描述】:我正在尝试将数据从我的Javascript发送到我的post方法控制器。我将淘汰赛作为我从Java... 查看详情

如何在 ASP.NET Core 2.1 中获取客户端 IP 地址

】如何在ASP.NETCore2.1中获取客户端IP地址【英文标题】:HowtogetClientIPaddressinASP.NETCore2.1【发布时间】:2018-06-3015:57:12【问题描述】:我正在使用MicrosoftVisualStudio2017提供的Angular模板开发ASP.NetCore2.1。我的客户端应用程序运行良好。... 查看详情

在 Razor (chtml) 中渲染动态视图,如何在 asp.net core 3.0 中将 FileProvider 添加到 razor?

】在Razor(chtml)中渲染动态视图,如何在asp.netcore3.0中将FileProvider添加到razor?【英文标题】:RenderingdynamicsviewsinRazor(chtml),HowtoaddaFileProvidertorazorinasp.netcore3.0?【发布时间】:2019-10-0815:16:12【问题描述】:我正在从asp-netcore2.2迁移到as... 查看详情

如何在 ASP.NET Core 2.1 中的计时器上运行 BackgroundService

】如何在ASP.NETCore2.1中的计时器上运行BackgroundService【英文标题】:HowtorunBackgroundServiceonatimerinASP.NETCore2.1【发布时间】:2019-05-1215:54:03【问题描述】:我想在ASP.NETCore2.1中运行后台作业。它必须每2小时运行一次,并且需要访问我... 查看详情

在 ASP.net Core MVC 2.1 中创建文本文件并下载而不保存在服务器上

...方法,然后立即在浏览器中下载它,而无需在常规ASP.net中将其写入服务器:Createtextfileanddownload接受 查看详情

如何在 ASP.NET Core 2.1 中向 Visual Studio 添加新的 Razor 页面模板?

】如何在ASP.NETCore2.1中向VisualStudio添加新的Razor页面模板?【英文标题】:HowdoIaddanewRazorPageTemplatetoVisualStudioinASP.NETCore2.1?【发布时间】:2019-05-1505:05:58【问题描述】:我的项目层次结构中有Templates文件夹,我一直在大量修改这些... 查看详情

在 ASP.NET Core MVC 中将自定义查询参数添加到操作 URL

...创建的URL在URL中包含自定义查询参数。无论控制器或操作如何,我都想在全球范围内应用它。我尝试了overrid 查看详情

我如何在 ASP.Net Core 2.1 mvc 应用程序中包含 System.Identitymodel 4.0

】我如何在ASP.NetCore2.1mvc应用程序中包含System.Identitymodel4.0【英文标题】:howcaniincludeSystem.IdentityModel4.0inASP.NetCore2.1mvcapplication【发布时间】:2018-12-2103:13:08【问题描述】:在ASP.NetCore2.1MVC应用程序中实现saml2.0的最佳方法是什么?... 查看详情