Asp.net MVC Şifreleme Algoritması İle Kullanıcı Girişi

Bir önce ki yazımızda kripto şifre hakkında ve kripto şifreleme algoritması olan “SimpleCrypto” ile şifre hashleyerek kullanıcı kaydı yapmayı işledik.

Bu yazımızda kripto şifreleme ile “SimpleCrypto” kullanarak kullanıcı girişini nasıl yapacağımızı işleyeceğiz.

Asp.Net MVC ile Şifreleme Algoritması Kullanımı
Asp.Net MVC ile Şifreleme Algoritması Kullanımı

Resimde görüldüğü gibi kullanıcı kaydı “SimpleCrypto” ile yapıldığında şifre için bir “Password” ve bir “Salt” değeri oluşmaktadır.Password ve salt değerlerini “SimpleCrypto” tarafından oluşmaktadır.Salt değeri password değerinin karşılığı olup kullanıcı girişi tarafından okunacak değerdir.Öyleyse “SimpleCrypto” ile nasıl kullanıcı girişi yapacağımıza bakalım.

İlk öncelikle girişi kontrol edecek bir “LoginCheck” adında class oluşturuyoruz.

    public class LoginCheck
    {
        AndDb db;
        public LoginCheck()
        {
            db = new AndDb();
        }
        public bool IsLoginSuccess(User userModel)
        {
            var crypto = new SimpleCrypto.PBKDF2();
            var user = db.User.Where(x => x.Email == userModel.Email).FirstOrDefault();
            if (user != null && user.IsActive == true
                 && user.IsAdmin == false)
            {
                if (user.Password == crypto.Compute(userModel.Password, 
                       user.salt))
                {
                    return true;
                }
            }
            return false;
        }

    }

Burada kullanıcı girişi controller’ımızdan aldığımız bilgileri kontrol edeceğiz.

Controller’da ise bunu tanımlayacağız.

[Route("Kullanici-Giris")]
public ActionResult Giris()
{
return View();
}
[Route("Kullanici-Giris")]
[HttpPost]    
public ActionResult Giris(User user)

    {

        var users = db.User.Where(x => x.Email == user.Email && x.IsActive == true
        && x.IsAdmin == false).ToList();

        if (new LoginCheck().IsLoginSuccess(user))
        {
            //doğru giriş ile giriş yapmış kullanıcının ID si ve Entity'si -
            //session edilir, kullanıcı içeridedir.
            Session["LoginUserID"] = users.FirstOrDefault().ID;
            Session["LoginUser"] = users.FirstOrDefault();
            return Redirect("/");
        }

        //hatalı giriş
        ViewBag.Error = "KULLANICI ADI VEYA ŞİFRE HATALI";
        return View();



    }

View’dan gelen verileri user nesnesine atayarak giriş yapmış kullanıcının bilgilerini alabiliyoruz ve kullanıcının giriş yapmasını sağlayabiliyoruz.

Yorum Yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir