web-dev-qa-db-ja.com

ログインページをASP .NET Core 2.1のデフォルトルートとして作成する方法は?

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 as LoginがMVCアクションビューの代わりにかみそりページとして使用されるようになりましたので、どのように変更できますか?.

8
Zubair Rana

ConfigureServicesメソッドでこれを使用します。

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

次にConfigureメソッドで

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

        });
8
csharpQ

ConfigureServices関数(Startup.cs)でこのコードを使用してこれを解決します

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

このコードをStartup.csのConfigureServices()に挿入します

{
   services.AddMvc().AddRazorPagesOptions(options =>
   {
       //Registering 'Page','route-name'
       options.Conventions.AddPageRoute("/Account/Login", "");
   });
}
  • 「/ Account/Login」アクション宣言のルート名は必ず削除してください
0
Bourne Koloh

その後、私はそれを解決しました。追加が必要[〜#〜] allow [〜#〜] for [〜#〜] areas [〜#〜] =>

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

これを構成で使用してください。これにより、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

0
Rémi Lardier

これは役立つかもしれませんが、デフォルトのページを自分で変更する必要はありませんでした

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

0
Hasan Nazeer

承認ポリシーを追加して、アプリケーションがデフォルトでユーザーにabcフォルダーの下のページの認証を要求し、abcフォルダーの下のいくつかのパブリックページを要求しないようにします。

services.AddRazorPages().AddRazorPagesOptions(options =>
          {
             options.Conventions.AuthorizePage("/abc");
             options.Conventions.AllowAnonymousToPage("/abc/PublicPage");
           });  
0
Sanvedana Kale