HesapController.cs
HesapContoller içineki Index action unu giriş işlemi için kullanacağız
public IActionResult Index()
{
return View();
}
[HttpPost]
public async Task<IActionResult> Index(giris m)
{
if (ModelState.IsValid)
{
Views\Hesap\Index.cshtml
@model giris
@{
ViewData["Title"] = "Giriş";
}
<div class="card col-6 mx-auto">
<div class="card-body">
<form method="post">
<div asp-validation-summary="All"></div>
<div class="row">
<div class="col-6 mx-auto">
<div class="row mb-4">
<div class="col-3">
<label asp-for="Email" class="label-control"></label>
</div>
<div class="col-9">
<input asp-for="Email" class="form-control">
<span asp-validation-for="Email" class="text-danger"></span>
</div>
</div>
<div class="row mb-4">
<div class="col-3">
<label asp-for="Sifre" class="label-control"></label>
</div>
<div class="col-9">
<input asp-for="Sifre" class="form-control">
<span asp-validation-for="Sifre" class="text-danger"></span>
<a asp-action="SifremiUnuttum" class="mt-3">Şifrenizi mi unuttunuz?</a>
</div>
</div>
<div class="row">
<div class="col-3"></div>
<div class="col-9">
<button type="submit" class="btn btn-primary">Giriş</button>
<button type="reset" class="btn btn-danger">Sıfırla</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@section Scripts{
<partial name="_ValidationScriptsPartial"/>
}

HesapController.cs
var result = await signInManager.PasswordSignInAsync(m.Email, m.Sifre, true, lockoutOnFailure: true);
if (result.Succeeded)
{
return RedirectToAction("Index", "Home");
}
else
{
if (result.IsLockedOut)
{
ModelState.AddModelError("", "Hesap kilitli");
}
else
{
ModelState.AddModelError("", "Giriş başarısız");
}
}
}
return View();
}