asp.net core 2.2 перенаправляет на вход после успешного входа - PullRequest
0 голосов
/ 24 января 2019
  • Я обновил Visual Studio 2017 до последней версии 15.9.5.

Я создал готовый проект asp.net core 2.2 web mvc с отдельными учетными записями пользователей.Я установил базу данных (update-database из консоли диспетчера пакетов) и запустил сайт в IIS Express.Все хорошо к этому моменту.Зарегистрированный пользователь и может войти в систему.

Развертывание приложения в IIS - запуск в качестве приложения на сайте по умолчанию и его зависание перенаправления обратно на страницу входа после успешного входа. (Все развернуто правильно - app = noуправляемый код)

Поэтому я фиксирую проект в небольшом репозитории и приглашаю друга попробовать это на своей машине.С IIS Express и базой данных, которую я дал ему, он застрял - перенаправление обратно на страницу входа после успешного входа.

Нет пользовательского кода - весь код лесов.

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<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.AddDefaultIdentity<IdentityUser>()
            .AddDefaultUI(UIFramework.Bootstrap4)
            .AddEntityFrameworkStores<ApplicationDbContext>();

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment 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.UseCookiePolicy();

        app.UseAuthentication();

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

}

Ответы [ 2 ]

0 голосов
/ 26 января 2019

У меня была такая же проблема, я запустил следующее на моем Mac и проблема решена.

sudo dotnet dev-certs https --trust;
0 голосов
/ 25 января 2019

Я думаю, что EF не может получить доступ к вашей базе данных.Убедитесь, что база данных доступна, используя параметры подключения из DefaultConnection.Установите отладчик в метод входа в систему и проверьте, что возвращается из методов UserManager.

...