Не могу войти, когда я работаю без режима отладки в asp. net core 2.2 || 2,1 - PullRequest
0 голосов
/ 04 марта 2020

У меня проблема с аутентификацией в ядре asp. net, когда я запускаю приложение без режима отладки, я не могу войти в приложение. это не выдает никакой ошибки. Также я могу войти в режиме отладки и работать совершенно нормально. Я искал везде, где. я также работал с asp. net 2.2, и я создал то же самое приложение с 2.1, но все еще не получил никакого ответа. даже когда я автоматически генерирую идентичность в визуальной студии, я сталкиваюсь с той же проблемой. я был бы очень признателен, если бы вы помогли мне в этом, потому что это действительно беспокоит меня в течение такого долгого времени.

это мой старт

    public class Startup
    {
        private readonly IConfiguration config;

        public Startup(IConfiguration config)
        {
            this.config = config;
        }
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<DataBaseContext>(c => c.UseSqlServer(config.GetConnectionString("DR-DBConnection")));
            services.AddIdentity<ApplicationUser, IdentityRole>(options => 
            {
                options.Password.RequireDigit = false;
                options.Password.RequireLowercase = false;
                options.Password.RequireUppercase = false;
                options.Password.RequiredLength = 6;
                options.Password.RequiredUniqueChars = 0;
                options.User.RequireUniqueEmail = true;
            }).AddEntityFrameworkStores<DataBaseContext>()
            .AddDefaultUI()
            .AddDefaultTokenProviders();


            services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Fastest);
            services.AddResponseCaching();
            services.AddResponseCompression(options =>
            {
                options.Providers.Add<GzipCompressionProvider>();
                options.EnableForHttps = true;
            });


            services.AddAuthentication();
            services.AddAuthorization();

            services.AddTransient<IImageHandler, ImageHandler>();
            services.AddTransient<IImageWriter, ImageWriter>();

            services.AddMvc().SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_2_2);

            services.ConfigureApplicationCookie(options => 
            {
                options.AccessDeniedPath = new PathString("/Panel/Dashboard/AccessDenied");
            });
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseResponseCaching();
            app.UseResponseCompression();
            app.UseStaticFiles();
            app.UseCookiePolicy();

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


Пользователь приложения

using Microsoft.AspNetCore.Identity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace DR.Models
{
    public class ApplicationUser : IdentityUser
    {
    }
}

Контроллер (LoginPart)


        [HttpGet]
        public IActionResult Login()
        {
            return View();
        }

        [HttpPost]
        public async Task<IActionResult> Login(string UserName, string Password, bool RememberMe)
        {
            if (!ModelState.IsValid)
            {
                return View();
            }
            if (String.IsNullOrEmpty(UserName) && String.IsNullOrEmpty(Password))
            {
                return View();
            }
            var user = await userManager.FindByNameAsync(UserName);
            var result = await signInManager.PasswordSignInAsync(user, Password, RememberMe, false);
            if (result.Succeeded)
            {
                return RedirectToAction("index", "Dashboard");
            }

            return RedirectToAction("Index", "Dashboard");
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...