В моем приложении ASP.NET Core есть форма, предназначенная для обработки входа пользователя в систему. Форма настроена на использование метода POST, и предполагается, что она передает адрес электронной почты и пароль пользователя действию контроллера с именем «вход».
HTML-форма:
Код: Выделить всё
@{
ViewData["Title"] = "Sign In";
}
Sign In
Email
Password
Sign In
Код: Выделить всё
[HttpPost]
public IActionResult login(string email, string password)
{
var user = _context.Users.SingleOrDefault(u => u.email == email && u.password == password);
if (user != null)
{
return RedirectToAction("Index");
}
ModelState.AddModelError(string.Empty, "Invalid login attempt.");
return View();
}
}
}
Код: Выделить всё
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Routing.Constraints;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using signIn_form.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext(options =>
options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection")));
builder.Services.AddControllersWithViews();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
Я был бы очень признателен за любые идеи или предложения по решению этой проблемы. Если вам нужна дополнительная информация о коде или конфигурации, дайте мне знать, и я предоставлю ее незамедлительно.
Спасибо за помощь!
Подробнее здесь: https://stackoverflow.com/questions/771 ... controller