Forum

MVC de login işleml...
 
Bildirimler
Hepsini Temizle

MVC de login işlemleri ve kontrol

8 Yazılar
3 Üyeler
0 Reactions
2,351 Görüntüleme
(@sinemerkan)
Gönderiler: 234
Reputable Member
Konu başlatıcı
 

merhabalar;

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 ,

Teşekkürler.

 

 
Gönderildi : 13/04/2019 13:12

(@SevanAKAL)
Gönderiler: 130
Estimable Member
 

Merhaba,

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.

Kolay Gelsin

 
Gönderildi : 13/04/2019 18:55

(@sinemerkan)
Gönderiler: 234
Reputable Member
Konu başlatıcı
 

Application_end sanırım browser kapatıldıgında tetiklenmiyor.

 
Gönderildi : 15/04/2019 10:36

(@SevanAKAL)
Gönderiler: 130
Estimable Member
 

Geçmişte yaptığım uygulamalarda kullanmıştım. application_end browser veya pencere kapatıldığında tetiklenir asıl amacı odur zaten.

 
Gönderildi : 15/04/2019 12:51

(@birolaydugan)
Gönderiler: 867
Prominent Member
 

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

(@SevanAKAL)
Gönderiler: 130
Estimable Member
 

Evet doğru orada yanlış bir bilgi olmuş Session_Start ve Session_End yöntemlerini kullanmanız gerekecek. Düzeltme için teşekkürler.

 
Gönderildi : 16/04/2019 16:33

(@birolaydugan)
Gönderiler: 867
Prominent Member
 

Session_End ise Session timeout sona erdiğinde devreye girer , default süre 20 dakikadır .

 
Gönderildi : 17/04/2019 00:17

(@sinemerkan)
Gönderiler: 234
Reputable Member
Konu başlatıcı
 
Gönderen: Birol Aydugan

Session_End ise Session timeout sona erdiğinde devreye girer , default süre 20 dakikadır .

Teşekkürler.

 
Gönderildi : 17/04/2019 14:55

Paylaş: