ASP.NET MVC AJAX LOGIN ÜYE GİRİŞİ
Login işlemini gerçekleştireceğimiz View'ın form bölümü
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "__AjaxAntiForgeryForm" }))
{
@Html.AntiForgeryToken()
<!--begin::Body-->
<div class="m-login__body">
<!--begin::Signin-->
<div class="m-login__signin">
<div class="m-login__title">
<h3>Giriş Yap</h3>
</div>
<div id="mesaj" class="alert alert-danger alert-dismissible fade show" role="alert" style="display:none;">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"></button>
<span id="mesajMetin"></span>
</div>
<div class="form-group m-form__group">
<input class="form-control m-input" type="text" placeholder="E-posta" id="kullaniciAd" name="kullaniciAd" autocomplete="off" required>
</div>
<div class="form-group m-form__group">
<input class="form-control m-input m-login__form-input--last" type="password" placeholder="Şifre" id="sifre" name="sifre" required>
</div>
<!--end::Form-->
<!--begin::Action-->
<div class="m-login__action">
<a href="#" class="m-link">
<span>Şifremi Unuttum</span>
</a>
<button id="btnGiris" class="btn btn-primary" onclick="return false;">Giriş</button>
</div>
</div>
<!--end::Signin-->
</div>
<!--end::Body-->
}
AJAX Bölümü
<script type="text/javascript">
$("#btnGiris").click(function () {
var girisDurum = false;
var girisHata = "";
var form = $('#__AjaxAntiForgeryForm');
var token = $('input[name="__RequestVerificationToken"]', form).val();
var kullaniciAd = $("#kullaniciAd").val();
var sifre = $("#sifre").val();
if (kullaniciAd == "" || sifre == "") {
$("#mesajMetin").text("Lütfen tüm alanları doldurunuz!");
$("#mesaj").show();
return;
}
$("#mesaj").hide();
$("#btnGiris").addClass("m-loader m-loader--right m-loader--light");
$("#btnGiris").attr("disabled", true);
$.ajax({
url: "/Login/GirisKontrol",
type: 'POST',
data: {
__RequestVerificationToken: token,
username: kullaniciAd,
password: sifre
},
success: function (sonuc) {
//alert(sonuc.Durum);
if (sonuc.Durum == "OK") {
girisDurum = true;
}
else {
girisHata = sonuc.Durum;
}
},
complete: function () {
if (girisDurum == true) {
//alert("başarılı")
window.location.href = "/Profil";
} else {
//alert(girisHata);
if (girisHata == "BULUNAMADI") {
$("#mesajMetin").text("Kullanıcı bulunamadı. Bilgilerinizi kontrol ediniz.");
$("#mesaj").show();
$("#btnGiris").removeClass("m-loader m-loader--right m-loader--light");
$("#btnGiris").attr("disabled", false);
}
else {
$("#mesajMetin").text(girisHata);
$("#mesaj").show();
$("#btnGiris").removeClass("m-loader m-loader--right m-loader--light");
$("#btnGiris").attr("disabled", false);
}
}
girisDurum = false;
}
});
return false;
});
</script>
Controller Bölümü
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult GirisKontrol(string username, string password)
{
try
{
System.Threading.Thread.Sleep(100);
if (ModelState.IsValid)
{
var md5Sifre = MD5Sifrele(password);
var veri = Login.GirisYap(username, md5Sifre);
if (veri != null)
{
Session["KULLANICIID"] = veri.KullaniciId.ToString();
Session["KULLANICIAD"] = veri.KullaniciAd.ToString();
Session["KULLANICIEPOSTA"] = veri.Eposta.ToString();
Session["PROFILAD"] = veri.Ad.ToString();
Session["PROFILSOYAD"] = veri.Soyad.ToString();
Session["PROFIL_AD_SOYAD"] = Session["PROFILAD"] + " " + Session["PROFILSOYAD"];
Session["YONETIM_YETKI"] = "1";
string ilkHarfAd = ".";
string ilkHarfSoyad = ".";
if (Session["PROFILAD"].ToString() != String.Empty)
{
ilkHarfAd = Session["PROFILAD"].ToString().Substring(0, 1);
}
if (Session["PROFILSOYAD"].ToString() != String.Empty)
{
ilkHarfSoyad = Session["PROFILSOYAD"].ToString().Substring(0, 1);
}
string adSoyadIlkHarfler = ilkHarfAd.ToUpper() + ilkHarfSoyad.ToUpper();
Session["ADSOYAD_ILK_HARFLER"] = adSoyadIlkHarfler;
//ViewBag.Sonuc = "Giriş başarılı!";
return Json(new { Durum = "OK" }, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new { Durum = "BULUNAMADI" }, JsonRequestBehavior.AllowGet);
}
}
return Json(new { Durum = "HATA" });
}
catch (Exception ex)
{
return Json(new { Durum = "HATA ~ " + ex.Message }, JsonRequestBehavior.AllowGet);
}
}