MVC de login işlemleri ve kontrol – Yazılım Genel – ÇözümPark Forum
MVC de login işleml...
MVC de login işlemleri ve kontrol
projede kullanıcı kayıtları veritabanında tutuluyor ve login kontrollerini burdan yapıyoruz ,burada bir sorum olacak
kullanıcıların multiple login olmasını ve tabloya manuel insert edilmesi sonucu login olabilmesini nasıl kontrol ederim , yani burdaki amacım uygulama güvenligini maksimum tutmak ,
Gönderildi : 13/04/2019 13:12
Güzel soru :). Bunun birden fazla çözümü var ben bir tanesi aklıma gelen,
Siz anladığım kadarıyla sizin uygulamanız dışında database de direk olarak veri girişi yapılmasını istemiyorsunuz.
Bunun için verilerinizi şifrelemeniz gerekir. Bu konu hakkında encrypt decrypt işlemlerine bakın hangi dili kullanıyorsanız ona göre arama yapın çokca makale bulacaksınız. İşin mantığına gelecek olursak,
Örneğin bir tabloda kullanıcı adı ve şifre bölümleri var siz bu bölümleri md5 veya sha1 olarak birleştirip şifreleyeceksiniz ve burada oluşan hash değerini tabloda bir kolonda tutacaksınız. md5 ve sha1 ile şifrelerken de bir şifre anahtarınız olacak yani burada oluşan değerin çözülebilmesi için bu anahtar gerekli.
Tablodan veriyi çekerken md5 veya sha1 olarak tekrar şifreleyerek aldığınız değeri tabloda önceden oluşturduğunuz hash değerle karşılaştıracaksınız değer aynı ise satırda bir değişiklik yapılmamıştır aynı değilse bilin ki biri tabloya uygulama dışından müdahale etmiş. Bundan sonraki prosedür sizin kodlamada yapacağınız adımlara bağlı.
Bir kullanıcının birden fazla login olmaması durumu da login işlemini nasıl kontrol ettiğiniz ile alakalı. Ben bir örnek vereyim size.
Asp.net global.asax içerisinde applcaiton_start ve application_end işlemleri vardır bu konuyu da araştırın.
Bir kullanıcı login olduğunda kullanıcı tablosunda bir state kolonunuz olsun ve kullanıcı login olduğunda değeri 1 yapsın. Kullanıcı tarayıcıyı kapattığında application_end ile burada değeri 0 yapsın. Yani login işleminde kontrol edeceksiniz 0 ise login olmasına izin vereceksiniz 1 ise kullanıcı zaten bir yerde login olmuştur login olmasına izin vermeyeceksiniz.
Gönderildi : 13/04/2019 18:55
Application_end sanırım browser kapatıldıgında tetiklenmiyor.
Gönderildi : 15/04/2019 10:36
Gönderildi : 15/04/2019 12:51
Applicacion_End IIS yada Sunucu kapandığında devreye girer , multiple kullanım için sessionID yöntemi ile ilerleyiniz.
Gönderildi : 15/04/2019 23:59
Gönderildi : 16/04/2019 16:33
Session_End ise Session timeout sona erdiğinde devreye girer , default süre 20 dakikadır .
Gönderildi : 17/04/2019 00:17
Gönderen: Birol Aydugan
Gönderildi : 17/04/2019 14:55
Gön: Abdulkadir SİVRİ, 7 saat önce
Gön: M.F.Kaan Bakır, 4 saat önce
Gön: Yaşar Büyükkarakaş, 5 saat önce