как установить личность страницы по умолчанию и после входа в систему перенаправить на перкулярную страницу - PullRequest
0 голосов
/ 22 апреля 2020

Я добавил идентификационные данные в asp. net core 3.1. Как я могу установить идентификационную страницу входа по умолчанию, и после успешного входа она должна перенаправить на определенную страницу?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020
public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }


    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
        services.AddRazorPages();

        services.ConfigureApplicationCookie(options =>
        {
            // Cookie settings
            options.Cookie.HttpOnly = true;
            options.ExpireTimeSpan = TimeSpan.FromMinutes(15);

            options.LoginPath = "/Identity/Account/Login";
            options.AccessDeniedPath = "/Identity/Account/AccessDenied";
            options.SlidingExpiration = true;
        });

    }

    // 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();
        }
        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.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
            endpoints.MapRazorPages();
        });





    }
}  
0 голосов
/ 22 апреля 2020

В методе Public void ConfigureServices(IServiceCollection services) добавьте следующие коды внизу:

services.ConfigureApplicationCookie(options =>
{
    // Cookie settings
    options.Cookie.HttpOnly = true;
    options.ExpireTimeSpan = TimeSpan.FromMinutes(15);

    options.LoginPath = "/Identity/Account/Login";
    options.AccessDeniedPath = "/Identity/Account/AccessDenied";
    options.SlidingExpiration = true;
});

Обратите внимание на свойства LoginPath и AccessDeniedPath. Измените другие свойства в соответствии с вашими требованиями.

Для перенаправления оно фактически закодировано в действии входа в систему, которое перенаправит пользователя на указанную c страницу. При успешном входе в систему напишите следующее для перенаправления на страницу root:

returnUrl = returnUrl ?? Url.Content("~/");
return LocalRedirect(returnUrl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...