Add login page

This commit is contained in:
2025-10-09 17:32:56 +09:00
parent 257cd3e35e
commit bb91136d42
3 changed files with 101 additions and 6 deletions

View File

@ -24,14 +24,14 @@ namespace Hcs.WebApp.Controllers
var result = await userManager.CreateAsync(user, password);
if (!result.Succeeded)
{
var errors = string.Join(", ", result.Errors.Select(error => error.Description));
var error = string.Join(", ", result.Errors.Select(error => error.Description));
if (!string.IsNullOrEmpty(returnUrl))
{
return Redirect($"/account/register?errors={errors}&returnUrl={Uri.EscapeDataString(returnUrl)}");
return Redirect($"/account/register?error={error}&returnUrl={Uri.EscapeDataString(returnUrl)}");
}
else
{
return Redirect($"/account/register?errors={errors}");
return Redirect($"/account/register?error={error}");
}
}
@ -45,6 +45,30 @@ namespace Hcs.WebApp.Controllers
return Redirect(returnUrl);
}
[HttpPost]
public async Task<IActionResult> Login(string userName, string password, string returnUrl)
{
var result = await signInManager.PasswordSignInAsync(userName, password, false, false);
if (!result.Succeeded)
{
if (!string.IsNullOrEmpty(returnUrl))
{
return Redirect($"/account/login?status=failed&returnUrl={Uri.EscapeDataString(returnUrl)}");
}
else
{
return Redirect($"/account/login?status=failed");
}
}
if (string.IsNullOrEmpty(returnUrl))
{
Redirect("/");
}
return Redirect(returnUrl);
}
public async Task<IActionResult> Logout()
{
await signInManager.SignOutAsync();