Blog Stats
  • Posts - 26
  • Articles - 0
  • Comments - 84
  • Trackbacks - 0

 

ASP.Net MVC ile kolayca Authentication

ASP.Net MVC ile uygulama geliştiriyorsunuz. Bazı sayfaların şifre ile korunmasını istiyorsunuz ama üyelik sistemi, kullanıcı rolleri gibi komplike bir uygulama değil, geliştirdiğiniz. Sadece bazı sayfaların bir ya da bir kaç kişi tarafından görüntülenebilir olmasını arzu ediyorsunuz.

Bu durumda herhangi bir veritabanı işlemine ihtiyaç duymazsınız. web.config’de kullanıcıları tanımlayıp uygulamada gerekli ayarları yapmak yeterli.

web.config kullanıcıları tanımlayalım.

<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880">
<credentials passwordFormat="Clear">
<user name="kullanici1" password="sifre"/>
<user name="kullanici2" password="sifre"/>
</credentials>
</forms>
</authentication>

AccountModel.cs dosyasında kullanıcının doğrulandığı bölümde membership api’si ile değil de web.config ile bunu çözeceğimizi belirtelim.

public bool ValidateUser(string userName, string password)
{
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");

//return _provider.ValidateUser(userName, password);
return FormsAuthentication.Authenticate(userName, password);
}

Artık istediğimiz Action Methodlara [Authorize] attribute ekleyerek onları şifre korumalı sayfalar haline getirebilir. Mesela örnek mvc projesinde About methoduna yazalım.

[Authorize]
public ActionResult About()
{
    return View();
}

Bitti.

Yukarıdaki senaryo VS2008 SP1 ve ASP.Net MVC2 sürümü ile denenmiştir.


Feedback

# re: ASP.Net MVC ile kolayca Authentication

Gravatar Teşekkürler Yunus Bey

Sizden daha çok ASP.NET yazısı bekliyorum.

Kolay Gelsin. 3/24/2010 8:01 PM | Soner Gönül

# re: ASP.Net MVC ile kolayca Authentication

Gravatar ARKADAŞA KATILIYORUM KOLAY GELSİN . 7/19/2010 11:44 AM | koxp

Post a comment





 

Please add 6 and 8 and type the answer here:

 

 

Copyright © Yunus Özen