.NET OpenSource - Always Open Source

Bu yazımızda DasBlog kurulumu yapacağız.Öncelikle aşağıdaki linkten DasBlog uygulmasını indirelim.

http://www.dotnetopensource.net/dasBlog-1.9.7174.1.zip

İndirilen sıkıştırılmış dosyayı extract edelim.Klasörün içine girelim ve "dasblogce" klasörü içindeki tüm dosyaları seçip kopyala diyelim ve kurulumu yapacağımız fiziksel adrese yapıştır diyerek işlemi gerçekleştirelim.Aşağıdaki klasörlere NETWORK SERVICE için okuma ve yazma izni verelim.

 

Klasörlere sağ tıklıyoruz ve özellikler diyoruz.

NETWORK SERVICE olmadığından Add diyoruz..

OK diyoruz...

Gerekli izinleri veriyoruz OK diyoruz..

Ana dizinimizdeki SiteConfig klasörüne giriyoruz.

Buradan site.config dosyasına giriyoruz.

Görüntü aşağıdaki gibi olucaktır.

Biz bunu kendimize göre düzenliycez.Benim örneğimde girmem gereken URL aşağıdaki gibi olmalıydı.Kaydedip kapatıyoruz.

Daha sonra aynı dizindeki siteSecurity.config dosyasını açıyoruz.

 

Bu dosyayı açtığımızda görüntü aşağıdaki gibi olucaktır.

Ben sadece şifreyi değiştirip kapatıyorum.Daha sonra bu şifre ile login olacağız.

 

Dosyayı kayıt edip kapatıyoruz.Kurulum işlemimiz bitti.Şimdi bloğumuzu test edelim.Benim bloğuğumun URL si http://demo.dotnetopensource.net yazıp giriyorum.Herşeyi doğru bir şekilde yaptıysanız görüntü aşağıdaki gibi olacaktır.

Aşağıda Kayıt Ol diye bir yazı olacaktır.Oradaki linke tıklayalım.

Aşağıdaki login ekranıyla karşılaşacaksınız..

Kullanıcı adımızı ve şifremizi girelim ve Kayıt ol butonuna basalım.Aşağıdaki mesaj ile karşılaştıysak login olmuşuz demektir.

 

 

Ayarlara ulaşmak için Konfigurasyon linkine tıklamanız yeterli...

Herkese kolay gelsin..

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Gönderen : Admin
Gönderilme Zamanı: 29.04.2008 at 13:39
Tags: ,
Categories: Asp.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Yorumlar (0) | Post RSSRSS comment feed
 
 

Bugünkü yazımızda .NET ile yazılmış ücretsiz kullanabiliceğiniz bir blog olan BlogEngine kuracağız.Öncelikle aşağıdaki linkten BlogEngine nin  bugün itibari ile son sürümü olan 1.3.1.0 versiyonuna sahip web uygulamasını indirelim.

http://www.dotnetopensource.net/BlogEngine.NET_1.3.1.0.zip

Daha sonra sıkıştırılmış biçimde indirmiş olduğumuz dosyayı sağ tıklayıp extract edelim.Klasöre sağ tıklayıp özellikler diyelim.Görüntü aşağıdaki gibi olucaktır.

Şimdi burada Attributes kısmındaki Read-only seçeneğini uncheck edelim.Görüntü aşağıdaki gibi olmalıdır.

 

Ana sayfaya git diyoruz.

 

Apply diyoruz bize aşağıdaki gibi bir uyarı ekranı gözükecek.

 

OK diyoruz.Apply diyoruz.Tekrar OK diyoruz ve dosyalarımızın içinde bulunduğu klasöre giriyoruz.

 

robots.txt i herhangi bir editörle açalım..Burada 2. satırda #sitemap yazan satırın başındaki # işaretini kaldıralım.

Aynı zamanda sitemap in urlsini kendimize göre düzenleyelim.Benim örnekte demo subdomain e kurulum yaptığımdan onun URL sini yazdım.Gerekli değişiklikleri yaptıktan sonra robots.txt dosyasını kapatalım.Değişiklikleri kaydediyim mi diye bir uyarı çıkarsa evet deyin.

 

 

Şimdi Internet Explorer ı çalışırıp URL kısmına sitemizin adını yazalım.Görünüm aşağıdaki gibi olcaktır.

Bloğumuzun en altında aşağıdaki gibi bir Sign in linki olacaktır.Oraya tıklayalım.

Karşımıza login sayfası çıkacaktır.Burada User Name : admin Password : admin yazalım ve Log In butonuna basalım.

Sağda aşağıdaki gibi bir menü çıkıcaktır karşımıza burada varsayılan kullanıcı adı ve şifresini değiştirmemiz gerekecektir.Buradan Kullanıcılar linkine tıklayalım.

Aşağıdan Edit e tıklayalım.

Ben şifremi 123456 olarak değiştirdim siz istediğiniz şifreyi giriniz.

Update dediğimizde aşağıdaki hata ekranı ile karşılaşacağız.Bunun nedeni Blogengine Ayarlar ve birçok bilgilerinin tutulduğu dosyaları App_Data lasöründeki xml dosyalarında tutatr.Bunlara yazma izni vermediğimizden aşağıdaki hata ile karşılaştık.

Ana dizinimizdeki App_Data klasörüne sağ tıklayıp özellikler dediğmizde aşadaki ekranla karşılaşacağız.

Buradan Security tabına tıklıyoruz.

Buradan ilgili kullanıcıyı seçip okuma yazma hakkı veriyoruz.

Hakları verdiğimizde görüntü aşağıdaki gibi olucaktır. OK diyerek kapatıyoruz.

Admin şifresini tekrar değiştirmeyi denediğinizde gerekli hakları verdiğimizden problem çıkarmayacaktır. Aşağıdaki ekranda görüldüğü gibi Logout a tıklayıp şuanki oturumumuzu kapatalım. 

Daha sonra yeni belirlediğimiz şifre ile Log In olalım.

Başarılı bir şelilde login olduk.Bloğumuz problemsiz çalışıyor.

 

Herkese kolay gelsin

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Gönderen : Admin
Gönderilme Zamanı: 29.04.2008 at 11:18
Tags: , ,
Categories: Asp.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Yorumlar (0) | Post RSSRSS comment feed
 
 

Bir önceki yazımızdan MS Sql Server üzerinde bir alana Asymmetric Key ile kullanarak Sifre alanını RSA_2048 ile Encrypt ettik.Bu yazımızda aynı alanı kullanıcıya Decrypt edip Gridview ile göstereceğiz.Öncelikle bu işlem için yazdığımız stored procedure ü yazalım.Aşağıdaki SQL ifadesini IDE mizden New Query diyerek açalım ve yazalım.

[code:tsql]
CREATE PROCEDURE spKullaniciGoster
AS
SELECT
ID,
KullaniciAdi,
CONVERT(NVARCHAR(MAX),
               DecryptByAsymKey(AsymKey_ID('AsimetrikKeyim'),
             Sifre, N'sifrem')) as Sifre
FROM Kullanicilar

Şimdi saklı yordamımızın çalışıp çalışmadığını kontrol edelim.Query alanına aşağıdaki ifadeyi yazıp çalıştırın.

exec spKullaniciGoster

Görüntü aşağıdaki gibi olucaktır.

 

Şimdi sıra geldi bu bilgileri gridview üzerinden kullanıcıya göstermeye.Projemize bir adet sayfa ekleyelim.Sayafayada 1 adet GridView ile 1 adet SqlDataSource ekleyelim.

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:baglantim %>"
SelectCommand="spKullaniciGoster"
SelectCommandType="StoredProcedure">
</asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
    DataSourceID="SqlDataSource1">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
            SortExpression="ID" />
        <asp:BoundField DataField="KullaniciAdi" HeaderText="Kullanıcı Adi" SortExpression="KullaniciAdi" />
        <asp:BoundField DataField="Sifre" HeaderText="Şifre" ReadOnly="True" SortExpression="Sifre" />
    </Columns>
</asp:GridView>

Uygulamamızı çalıştıralım.Görüntü aşağıdaki gibi olcaktır.

Yazı serisinin 3. bölümünde Encrypt uygulanmış alanı güncelleyeceğiz.
Hepinize kolay gelsin.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Gönderen : Admin
Gönderilme Zamanı: 24.04.2008 at 06:27
Categories: Asp.NET | MS SQL
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Yorumlar (0) | Post RSSRSS comment feed
 
 

Bugünkü yazımızda MS SQL Server 2005 Express Edition ile Asymmetric Key kullanarak bazı alanlarımızı dışardan yetkisiz erişime karşı koruycaz.Bunun için
örnek uygulamamızda basit bir seneryo düşündüm ve ufak bir kayıt sistemi oluşturdum.Uygulamada kullanıcıdan kayıt oluşturma esnasında iki adet bilgi alıyoruz.Bir tanesi kullanıcı adı ve biz bu bilgiyi Stored Procedure ile parametre olarak gönderip hiçbir işlem yapmadan normal girilen değerlerle kaydını yapıyoruz.Diğeri ise şifre bilgisi ve biz bunuda kullanıcıdan alıp Stored Procedure üzerinden parametresiyle gönderip sql server da Encrypt edip kaydediyoruz.

Örnek tablomuzda birde otomatik artan alan var bunun için kullanıcıdan herhangi bir bilgi almamıza gerek yok.Bu alanın bir özelliğide Primary Key olması.İleride güncelleme işlemi yaptığımızda böyle bir alana ihtiyaç duyucaz o yüzden benzersiz bir alan olması gerekiyor.
İlk önce örnek tablomuzu oluşturalım.Aşağıdaki sorguyu kopyalayıp Query den çalıştıralım.

[code:tsql]
CREATE TABLE Kullanicilar(
 [ID] [int] IDENTITY(1,1) NOT NULL,
 [KullaniciAdi] [nvarchar](50) NULL,
 [Sifre] [varbinary](max) NULL
)
[/code]

Şimdi sıra geldi örneğimizde encrypt yapabilmemiz için gerekli olan asymmetric key oluşturmaya.
Aşağıdaki bloğu gene query den çalıştıralım.Toplamda 3 parametresi var.Bunları kısaca açıklarsak
 
1. AsimetrikKeyim - buna istediğiniz ismi verebilirsiniz.
2. RSA_2048 - kullanılan algoritma tipi
3. sifrem - ileride lazım olacak olan şifre.

CREATE ASYMMETRIC KEY AsimetrikKeyim
    WITH ALGORITHM = RSA_2048
    ENCRYPTION BY PASSWORD = 'sifrem';
GO

Sorgumuzu çalıştırdıktan sonra Object Explorer dan kullandığınız veritabanınıza tıklayın.Oradan Security e son olarak Asymmetric Keys e. Asimetric Key'in AsimetrikKeyim  ismiyle var olduğunu göreceksiniz.

Yapacağımız ilk işlem kayıt ekleme olacağından ilk önce onun Stored Procedure ünü yazacağız.Gene aşağıdaki sorguyu query den execute edelim.Aşağıdaki saklı yordamda dikkat edilirse EncryptByAsymKey(AsymKey_ID('?'), @Sifre) soru işareti ile belirtiğim noktada ASYMMETRIC KEY in ismi var.Encrypt yapılcak alanında EncryptByAsymKey(AsymKey_ID('AsimetrikKeyim'), ?) soru işareti ile belirttiğim sifre alanının olduğunu görüceksiniz.Sorgumuzu yazıp çalıştıralım.

CREATE PROCEDURE spUyeEkle
@ID int OUTPUT,
@Sifre NVARCHAR(MAX),
@KullaniciAdi NVARCHAR(50)
AS
INSERT INTO Kullanicilar (KullaniciAdi, Sifre)
VALUES (
 @KullaniciAdi,
 EncryptByAsymKey(AsymKey_ID('AsimetrikKeyim'), @Sifre)
);
SET @ID = @@IDENTITY

Web projemize bir adet konfigurasyon dosyası (web.config) ekleyelim ve oluşturulan dosyaya aşağıdaki satırları koyalım.Bağlamtim ismi ile asp.net sayfası üzerinden kendisine erişeceğiz.

using System.Data.SqlClient;
using System.Data;

Şimdi hemen hemen herşey bitti sadece kayıt yapmamız için gereken kodları yazmamız gerekicek.Aşağıdaki kodu butonun Click olayına yazalım.

SqlConnection SqlBaglantim = new SqlConnection(ConfigurationManager.ConnectionStrings["baglantim"].ConnectionString);
SqlCommand sqlcmd = new SqlCommand("spUyeEkle", SqlBaglantim);
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Parameters.Add(new SqlParameter("@KullaniciAdi", SqlDbType.NVarChar, 50));
sqlcmd.Parameters["@KullaniciAdi"].Value = TextBox1.Text;
sqlcmd.Parameters.Add(new SqlParameter("@Sifre", SqlDbType.NVarChar, 50));
sqlcmd.Parameters["@Sifre"].Value = TextBox2.Text;//Encrypt dilcek parametre değerini alıyoruz
//Bu parametreye değeri SQL Server vericeğinden biz vermiyoruz aşağıdaki şekilde gösteriyoruz.
sqlcmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int, 4));
sqlcmd.Parameters["@ID"].Direction = ParameterDirection.Output;
SqlBaglantim.Open();
sqlcmd.ExecuteNonQuery();
SqlBaglantim.Close();

Son olarak uygulamamızı çalıştıralım ve test edelim.Sayfamız ilk çalıştığında görüntü aşağıdaki gibi olucak.

Form üzerinden aşağıda görüldüğü gibi bir kayıt girelim.

SQL IDE sinde aşağıdaki sorguyu çalıştıralım.

SELECT * FROM Kullanicilar

Encrypt uyguladığımız Sifre alanına 123456 olarak girdiğimiz değerin yukarıda yazdığımız  sorgu ile verdiği sonuca bir bakalım.

0xE10173C43BF06CD4F984E46E964D88E730DB384C7D0BE3EE2A3FC3C8854C076E5BC38262
D5397D79DE4CD3C988975F282BE0415EFA992828D29AA4A3DC331D75D2A9DB4501D5FC6EA
E87DAD6C7CB85D8377B5CCD9FB20A5B921983FBD90AC96F6C349D9D983AC23280DEB4715
CDC0D840F340FB91BED1C47D919C6D2992F10AC8FADD794AFDAEF68EE210BE97BDFA37322
731B761579454A4D7D4272FFB6431650065E98D258F612A06150948008540BE862C98B2D8A6A
184823843AB39471E4BCD36A6C83818B15BC9AF3BECC3BD6D3FFEB2D608EED8D336BF0B304
67507514445E7AC7FEFF8FEC8D139CCDCF315E1AB4F5BE809BD9335CF5BE4113980B76B8

İlerki yazımızda Encrypt uyguladığımız alanlarda select,update işlemleri yapıcaz.
Hepinize kolay gelsin

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Gönderen : Admin
Gönderilme Zamanı: 23.04.2008 at 14:12
Tags: , , ,
Categories: Asp.NET | MS SQL
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Yorumlar (0) | Post RSSRSS comment feed
 
 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Gönderen : Admin
Gönderilme Zamanı: 21.04.2008 at 07:56
Tags:
Categories: Sound
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Yorumlar (0) | Post RSSRSS comment feed