folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Asp.Net Mvc Login(Yardım)



Asp.Net Mvc Login(Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    OFree
    OFree's avatar
    Kayıt Tarihi: 25/Temmuz/2010
    Erkek

    asp.net mvc 4 ile bir proje yapıyorum fakat login olayını halledemedim.Üye olabiliyorum fakat logine kafam bir türlü yatmadı yardım edebilcek varsa özelden bir mesaj atabilirmi.database veri ekleme,silme,düzenleme yapabiliyorum


    Freedoom is not free.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    selam,

    en basitinden şöyle yapabilirsin.. (db yapını bilmiyorum o yüzden en temel bir şey üzerinden gidiyorum)

    user isimli bir tablon olsun ve orada userId, username, password, createdDate, isActivated,isEnabled, activationCode gibi alanlar olsun.

    userId : int

    username,password,activationCode : varchar

    createdDate: datetime

    isActivated,isEnabled : boolean

     

    türünden olsun.

    üye yaratılırken isActivated değeri false, isEnabled değeri true olsun.

     

    isActivated, üye olduktan sonra üyenin mailine activationCode göndermen gerekiyor, üye bu linke tıkladığında o zaman isActivated ı true yaparsın..

    maile şöyle bir link gönderebilirsin

    siteadi.com/activation?username=XXactivationCode=12345

    şimdi bunun sorgusu da şöyle olabilir

    select count(*) from user where username='gelen user name' and activateionCode ='gelen activation code'

    buradan 0 gelirse kod ve username eşlenmediği için kullanıcıya hata verdirirsin. Eğer 1 dönerse o zaman  sql updatei le isActivated'i true yaparsın böylece kullanıcı aktif olmuş olur.

    Login olayına gelirsek;

    burada birden fazla kontrol yapacaksın. o yüzden kullanıcıyı çekmen gerekiyor.

    Select * from where username ='loginden gelen username' and password='loginden gelen password'

    eğer buradaki sonuç null ise, kullanıcı adı ve şifre eşleşmediği için hata verirdirirsin..

    Eğer null değil ise o zaman doğru bilgileri girmiş demektir. Ancak burada 2 kontrol daha yapman lazım..

    Gelen verilerden isActivate e bak, false ise, kullanıcı mail ile aktif etmemiştir, o yüzden o kullanıcıya tekrar aktivasyonu hatırlat..

    Eğer isActivate true ise o zaman isEnabled a bakacaksın. O da true ise o zaman sorunsuz login olmuş demektir. Eğer isEnabled false ise üye banlanmış demektir, o kişiye böyle bir uyarı verebilirsin. 

    Bunu bir alışkanlık haline getir, gerek ürün olsun gerek şahıslar olsun, gerek roller, kategoriler v.s. olsun hepsine isEnabled alanın olsun, böylece göstermek istemediğini direk false yaparak kolayca eleyebilirsin. User içinde isEnabled false yaparsan siteden atılmış anlamına gelir.

     

    Bu işi daha profesyonel şekilde yapabilirsin, mesela salting (tuzlama) denilen bir yol ile şifreyi şifreli kaydedebilirsin. Böylece db hacklense bile şifreler belli olmayacaktır. :) 

    örnek : https://www.youtube.com/watch?v=0dgTf9TUDHU

    Son olarak direk sql mi kullanıyorsun bilmiyorum ama Entity Framework gibi bir araç kullanarak daha kolay şekilde halledebilirsin, hele generic class kullanarak, tek bir helper ile tüm tabloların için kullanabilirsin kod tekrarı yapmadan..

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    OFree
    OFree's avatar
    Kayıt Tarihi: 25/Temmuz/2010
    Erkek

    Hocam ilk önce cevap için teşekkür ederim benim sorunum şurda başlıyor.birde sql kullanıyorum.Ben bir kullanıcıyı üye kaydı yapıyorum.Burdan sonrası yok bende Login sayfası yaptım bir tane kullanıcı burda kullancıadı ve şifresini giriyo giriş yap dediğimde o buton hiç bir işe yaramıyo bağlantıda sorunum var gibi geliyo bana bu asp.net birde çok karışık controller ile kontro ettirmem lazım ama tam olarak nasıll yapılcagını bilmiyorum bir başka sorunumda kullanıcı giriş yaptıkdan sonra yukarda layout da kullanıcı ismi ve login yerine log out gelmesi burda tıkandım burda controlller nasıl kullancam bir fikrim yok.


    Freedoom is not free.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    mvc, asp.net webforms a göre farklıdır hocam, team yollarsan özelden bakalım biraz


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    OFree
    OFree's avatar
    Kayıt Tarihi: 25/Temmuz/2010
    Erkek

    yolladım hocam


    Freedoom is not free.
Toplam Hit: 1272 Toplam Mesaj: 5
asp.net asp.net login sistemi