Anasayfa » Forum

MVC de login işleml...
 

MVC de login işlemleri ve kontrol  

  RSS
Sinem Erkan
(@sinemerkan)
Üye

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.

 

Alıntı
Gönderildi : 13/04/2019 13:12
Sevan AKAL
(@SevanAKAL)
Üye

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

CevapAlıntı
Gönderildi : 13/04/2019 18:55
Sinem Erkan
(@sinemerkan)
Üye

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

CevapAlıntı
Gönderildi : 15/04/2019 10:36
Sevan AKAL
(@SevanAKAL)
Üye

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

CevapAlıntı
Gönderildi : 15/04/2019 12:51
Birol AYDOĞAN
(@birolaydugan)
Üye

Applicacion_End IIS yada Sunucu kapandığında devreye girer , multiple kullanım için sessionID yöntemi ile ilerleyiniz.

CevapAlıntı
Gönderildi : 15/04/2019 23:59
Sevan AKAL
(@SevanAKAL)
Üye

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.

CevapAlıntı
Gönderildi : 16/04/2019 16:33
Birol AYDOĞAN
(@birolaydugan)
Üye

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

CevapAlıntı
Gönderildi : 17/04/2019 00:17
Sinem Erkan
(@sinemerkan)
Üye
Gönderen: Birol Aydugan

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

Teşekkürler.

CevapAlıntı
Gönderildi : 17/04/2019 14:55
Paylaş:

Lütfen Giriş yap yada Kayıt ol