Jarlis Antonio Pereira Aguilar Ответов: 1

Как я могу назначить домашнюю страницу в классе запуска


Комо, я могу asignar страница начало ан-де-ла-класе де запуске
Hola tengo este codigo en mi clase de Startup y quiero que cuando inicie mi proyecto me aparesca la vista del login ejmplo Identity/Account/Login
Здравствуйте, у меня есть этот код в моем классе запуска, и я хочу, чтобы представление входа в систему появлялось, когда я начинаю свой проект. Identity/Account/Login
public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<SmartSettings>(Configuration.GetSection(SmartSettings.SectionName));
            services.AddSingleton(s => s.GetRequiredService<IOptions<SmartSettings>>().Value);

            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
            services.AddIdentity<IdentityUser, IdentityRole>(options => options.SignIn.RequireConfirmedAccount = false)
                .AddRoleManager<RoleManager<IdentityRole>>()
                .AddEntityFrameworkStores<ApplicationDbContext>();

            services.AddTransient<IEmailSender, EmailSender>();

            services
                .AddControllersWithViews();

            services.AddRazorPages();

            services.ConfigureApplicationCookie(options =>
            {
                options.LoginPath = "/Identity/Account/Login";
                options.LogoutPath = "/Identity/Account/Logout";
                options.AccessDeniedPath = "/Identity/Account/AccessDenied";
            });

            services.AddDistributedMemoryCache();
            services.AddSession(options =>
            {
                options.IdleTimeout = TimeSpan.FromMinutes(1);//You can set Time   
            });
            services.AddMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseRouting();
            app.UseAuthentication();
            app.UseAuthorization();
            app.UseSession();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    "default",
                    "{controller=Intel}/{action=MarketingDashboard}");
                endpoints.MapRazorPages();
            });
        }
    }
}


Что я уже пробовал:

Hola tengo este codigo en mi clase de Startup y quiero que cuando inicie mi proyecto me aparesca la vista del login ejmplo Identity/Account/Login
Цитата:
Здравствуйте, у меня есть этот код в моем классе запуска, и я хочу, чтобы представление входа появлялось при запуске моего проекта, например Identity / Account / Login

Patrice T

Английский, пожалуйста.

Richard MacCutchan

Пожалуйста, не это (очевидно) англоязычный сайт. Если ваш английский не очень хорош, вы можете воспользоваться Google translate.

1 Ответов

Рейтинг:
2

Richard Deeming

Если вы хотите запретить анонимным пользователям просматривать любые ваши страницы, вам необходимо убедиться, что все конечные точки требуют авторизации.

Легко настроить глобальную политику авторизации:

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        "default",
        "{controller=Intel}/{action=MarketingDashboard}")
        .RequireAuthorization();
    
    endpoints.MapRazorPages().RequireAuthorization();
});
Настройка глобальных политик авторизации с помощью DefaultPolicy и FallbackPolicy в ASP.NET ядро 3.x[^]