У меня проблема с аутентификацией в ядре 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");
}