Asp.net Membership özellikleri

Machine.config dosyasında bulunan daha çok üyelik için kullanılan Asp.net Membership yapısındaki özellikleri inceleyelim. Uygulamamızda Web.Config içerisinde system.web blogunun içine eklediğimiz Membership providers’ın da bulunan özellikler ve açıklaması;

connectionStringName : Uygulamada kullanılan veritabanını bağlayan connectionstring isminin yeri.

enablePasswordRetrieval : Unutulan şifreyi geri alma yapılsın mı. True olursa eski şifre gönderilecek, false olursa kullanıcıya yeni şifre gönderir. Ayrıca passwordFormat hasked olursa burası true olamaz.

enablePasswordReset : Şifreyi sıfırlama için kullanılır.

enablePasswordRetrieval false ise bunun true olaması gerekir.

requiresQuestionAndAnswer : Gizli soru; true soru olsun, false gizli soru olmasın.

applicationName : Kullanılacak uygulamalar buraya yazılır. Şimdilik üyelik uygulamsını kullanacağımız için / işareti ile devam ediyoruz.

requiresUniqueEmail : Aynı mail hesabı ile birden fazla üye olsun mu. True yaparsanız kullanılan mail adresiyle bir tane hesap açılır.

passwordFormat : Üye şifrelerinin veritabanında tutacağı format yeri. Burada 3 tane şifreleme tipi bulunmakta. Bunlar Clear, yaptığımızda şifre olduğu gibi veritabanında görülür, encrypt yaptığımızda geri çevirebilir şekilde şifreyi şaklıyo, hashed ile yapılan paralo geri döndürülemez yani yazılan şifre tekrardan eski haline gelemez.

maxInvalidPasswordAttempts : En fazla kaç kere yanlış parola girilebilir. Bu özellik sonucunda passwordAttemptWindow özelliğini çalıştırarak anlam kazanmakta. Normalde passwordAttemptWindow =10 dakika yani 5 kez yanlış parola giren üye 10 dakika login olması yasaklanacak.

minRequiredPasswordLength : Şifrenin en az kaç karakterli olacağını belirten özellik.

minRequiredNonalphanumericCharacters : Şifrede alfa numerik karakter olsun mu yani semboller = ? / gibi olmasını isterseniz 1(kaç tane alfa numerik karakter olmasını istiyorsanız o kadar sayı) yapmanız gerekir, istemiyorsanız değeri 0 yapmanız yeterli olacak

passwordStrengthRegularExpression : Şifrenin güvenilirliğini buradan ayarlanmakta

Jquery scrollbar yapımı

Halk dili ile sağ sürükleme çubuğu olarak da geçen, demosunu bu adresten bulabileceğiniz jquery scrollbar web siteleri için olmazsa olmazlardandır. jscrollpane.kelvinluck.com adresinden de ulaşabileceğiniz Jquery scrollbar farklı türlerine de rastlayabilirsiniz.(inceledim hepsi birbirine benzer şekilde oluşturulmuş).

Gerekli stil ve jquery referans dosyalarını buradan indirerek operasyona başlayabiliriz. Bu klasörleri indirdikten sonra head etiketleri arasına sürükleyin. Uygulamayı Asp.net(php vs. fark etmez benzer şekilde uygularsanız bu scrollbar zamazingosu her yerde çalışır) ile yaptığımı hatırlatarak gerekli referansları ve javascript kodları nereye ekleneceğini alt tarafta bulabilirsiniz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
   
   
    <link href="jquery.jscrollpane.css" rel="stylesheet" type="text/css" />
        <style type="text/css" id="page-css">
            .scroll-pane
            {
                width: 100%; /* Genişlik buradan */
                height: 400px; /* Yüksekliği, metin vs. içeriğinin yüksekliğine göre ayarlamalısnız  */
                overflow: auto;
            }
            .horizontal-only
            {
                height: auto;
                max-height: 200px;
            }
            </style>


    <script src="jquery-1.6.1.min.js" type="text/javascript"></script>
    <script src="jquery.mousewheel.js" type="text/javascript"></script>
    <script src="jquery.jscrollpane.min.js" type="text/javascript"></script>
               
         
        <script type="text/javascript" id="sourcecode">
            $(function () {
                $('.scroll-pane').jScrollPane();
            });
        </script>
</asp:Content>

head aralığına yukarıdaki gibi gereken javascript ve css kodlarını da ekleyerek, referans edilen 4 dosyayı(1 css 3 js) da ekleyip scrollbar için gereken işlemleri tamamlamış olursunuz. Gereken bir kaç açıklamayı kod içinde bulabilirsiniz. Rengini jquery.jscrollpane.css dosyasından değiştirebilirsiniz.

Ardından scrollbar içine koyacağınız metin, görsel, form vs. ilgili class içine almak kalıyor. Alltaki kısımda ne demek istediğimi anlayabilirsiniz;

1
 <div class="scroll-pane"> metin görsel form vs içeriği buraya giriyoruz....</div>

Bu scrollbar sayesinde uzunca yazıları, formları yüksekliği belli site içinde konumlandırmanıza yardımcı oluyor.

Asp.net smtp mail gönderimi

Daha çok iletişim, parola, görüş öneri formu gibi işlemlerde işimize yarayan, database i teğet geçen smtp servisinin sağladığı bu sistemi Asp.net de de kullanılabilmekteyiz. Günlük 200 adet(tahmini değer) smtp mail gönderim limti olan gmail bu servisi kullananlar için rağbet görmekte.


Bir kaç satır kod ile Asp.net ile de gönderebileceğiniz smtp mail sistemini küçük bir örnekle uygulayalım. Resimdeki gibi bir form ekranı hazırlayarak smtp mail işlemine başlayabiliriz. Bunu yapmadan önce elinizin altında fazla kullanmadığınız gmail hesabınız olması gerekmekte.

3 label, iki textbox ve bir buton yeterli olacaktır. 3. labelı hata mesajı göstermek için kullanmalıyız. Gerekli form tasarımını hazırladıktan sonra gönder butonuna çift tıklayıp kod kısmına atlayabiliriz.

SmtpClient ve NetworkCredential için ;

1
2
using System.Net.Mail;
using System.Net;

eklemeniz gerekmekte.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                SmtpClient baglanti = new SmtpClient();
                MailMessage mesaj = new MailMessage();
                mesaj.To.Add("alici@hotmail.com"); //mail göndermek istediğiniz herhangi bir hesap, hotmail, isim@alanadi.com  vs hesap farketmez
                mesaj.From = new MailAddress("deneme@gmail.com"); //buradaki hesap üzerinde gönderi yapılacak, gmail hesabı
                mesaj.Subject = "Asp Net Smtp Mail Gönderim Denemesi";
                mesaj.IsBodyHtml = true;
                mesaj.Body = "<b>Adı</b> : " + TextBox1.Text + "<br>" + "<b>Soyadı :</b> " + TextBox2.Text; //daha fazla parametre için form tasarımı buradan yapılabilir, gidecek olan içerik burada hazırlanmakta

                NetworkCredential guvenligonderi = new NetworkCredential("deneme@gmail.com", "12345"); //gmail kullanıcı adı ve şifreniz

                baglanti.Credentials = guvenligonderi;

                baglanti.Port = 587; //gmail port nurası Türkiye için 587

                baglanti.Host = "smtp.gmail.com";

                baglanti.EnableSsl = true;
                baglanti.Send(mesaj);
                Response.Redirect("mesaj.aspx"); //gönderi yapıldıktan sonra otomatik yönelecek sayfayı buraya yazabilirsiniz
            }
            catch (Exception)
            {

                Label1.Text = "Lütfen Tekrar Gönderin"; //gönderide hata olursa buradaki mesaj devreye girmekte
            }
           
        }

Button1_Click olayına yukarıdaki gibi kodları uygulayıp gereken yerlere kendi gmail hesap ve şifrenizi girip deneme amaçlı alıcı kısmına diğer e posta adresinizi girerek Asp.net smtp mail gönderimini deneyebilirsiniz. Gereken açıklama kodlar içinde mevcut. mesaj.Subject alanı mailin başlık alanı, mesaj.Body gövde yani mailin içerik alanını teşkil etmekte.

Not: Buradaki hesap deneme amaçlı yazılmıştır. Bu yüzden çalışamayabilir, kendi gmail hesap ve şifre bilgileriniz girmeniz gerekir.

Ajax kontrolleri sorunsalları

Visual Studio ortamında da kullandığımız, geçmişte pek umursanmayan fakat yakın zamanlarda Google’ın arama çubuğunda ipucu uygulaması ile tekrar gündeme gelen ve ondan sonrada sık sık kullanılan Ajax teknolojisinin birkaç sorunsallarından bahsedeceğim.

Hikayeyi fazla uzatmadan herhangi bir Asp.net uygulamasında kullanacağımız meşhur hazır Ajax kontrollerinde bazen haftalarca süren sorunları ile baş başa kalan arkadaşlar için birkaç çözüm yolları. İlk olarak sorun adını belirtmek istersek; projeye eklediğimiz referans Ajax Toolkit Control .dll’nin çalışmaması.

Peki bu sonradan eklenilen Ajax kontrolleri neden çalışmaz?

  • .Net Framework 4 kütüphaneniz hasarlı olabilir. Microsoft .NET Framework 4 bağlantısına tıklayıp ilgili kütüphanenizi onarın.
  • Visual Studio’nun güncellemeleri varsa yapın, Service Pack yüklemediyseniz yükleyin.(Microsoft Visual Studio 2010 Service Pack 1)
  • Bu adımları sırasıyla veya hiç yapmayabilirsiniz belki sorun yoktur fakat soruna karşı bakış açınızı değiştirip uygulamanızı hangi kütüphane üzerinde yazdığınıza dikkat ederek Ajax Control Toolkit‘leri o Framework e göre ekleyin. Mesela Framework 3.5 ile yazıyorsanız uygulamanızı eklemeye çalıştığınız Ajax .Net4 kontrolleri haliyle çalışmayacaktır. Çalışmadığı zaman hem Debug da sorun verir hemde Toolbox kısmında kontroller soluk olarak gözükür(sürükle bırak yapamazsınız).

Sorunlar bu kadar bitmediğini biliyorum, fakat başıma gelen olayı nasıl çözdüğümü burada anlatmak istedim. Hikaye kısmı biraz uzun olabilir, bu stresli anınızda biraz gevşetmek için uzun uzaya anlatmak istedim…