Yazar : Ömer ÇIRAK
Konu : Üyelik
ve Kimlik Denetimi -1
Kimlik ( identity), Ziyaretçinin
siteyi ziyaretinde kim olduğunu tanımlayan ifadeler bütünüdür. Kullanıcı Adı, Eposta, Şifre vb. tanımlamalar ile kontrolü yapılarak
yetkisi dahilinde sayfalara yönlendirme yapılarak ziyaretçinin dinamik işlem
yapması sağlanır. Siteyi ziyaret eden kişinin öncelikle kim olduğunun ( authentication )
bilinmesi için kimlik denetimi yapılır. Kimlik denetimi sağlandıktan
sonra güvenliğin ikinci aşaması yetkilendirme( authorization
) kontrol edilir.
Ziyaertçinin
1-
Kim
olduğu
2-
Neler
yapabileceği
Kontrol
edilmelidir. Bu işlemleri yerine getiren ASP.Net içerisinde Login
nesneleri tasarımcıya müthiş kolaylık sağlar.
Login
Nesneleri:
Kimlik Tanıma ve Yetkilendirilmenin
kontrol edilmesi için ASP.Net içerisinde 7 adet nesne bulunmaktadır.

|
1
|
Login
Oturum
Açma işlemi için kullanılır
|

|
|
2
|
LoginView
Kullanıcının
Oturum açıp açmadığını görüntüleme ve kullanıcıya faklı içerik görüntüleme
işlemi için kullanılır.
|

|
|
3
|
PaswordRecovery
Şifresini
unutan kullanıcıya şifresini hatırlatmak için kullanılır
|

|
|
4
|
LoginStatus
Kullanıcının
sitede oturum açıp açmadığını kontrol etmek için kullanılır.
|

|
|
5
|
LoginName
Tasarımda
Kullanıcı adı tanımlama için kullanılır.
|

|
|
6
|
CreateUserWizard
Yeni kullanıcı
tanımlama için hazır şablon sunar
|

|
|
7
|
ChangePassword
Kullanıcının
mevcut şifresini değiştirme işlemi için kullanılır.
|

|
|
|
|
|
Nesneleri
Web Formuna ekledikten sonra Properties(Özellikler)
penceresinden ingilizce metinleri Türkçeye
çevirmemiz Türkçe görüntülemeyi sağlar.
Uygulama:
1-
Yeni
bir UyeKontrolleri isminde proje oluşturunuz
2-
Projenizde
Default.aspx sayfası
varsayılan oluşturulmuştur. Default.aspx formuna LoginView Kontrolünü
ekleyiniz.
3-
LoginView Kontrolünün Common Task Menüsünden Anonymous Template seçeneğini
seçiniz ve LoginView içeriğine “Oturum Açmadınız “ifadesini yazınız.
4-
LoginView Kontrolünün altına LoginStatus
Kontrolü ekleyiniz. Bu kontrol oturum açılıp açılmadığına ilişkin link
oluşturacaktır.
LoginText
Özelliğine “Giriş Yapınız”
LogoutText
Özelliğine “Çıkış Yapınız “ Metinlerini yazınız.
5-
Solution’dan Add New Item
ile yeni Web Formu ekleyiniz ve Login.aspx olarak adlandırınız.
6-
Login.aspx formu üzerine Login kontrolünü sürükleyiniz.
Website
Configuration:

Ekrana
gelen arayüz Security, Application Configuration ve Provider Configuration olmak
üzere üç bölümden oluşuyor.
v
Security : Kullanıcı yaratma,silme gibi
işlemlerin yanısıra,rollerini belirleme ve erişimleri
düzenleme gibi işlemleri de yapabilmemize imkan sağlar.
v
Application Configuration
: Debug seçeneği,varsayılan hata sayfası,SMTP
ayarları gibi uygulama yapılandırmalarını kod tarafında uğraşmadan kolayca
yapabildiğimiz kısım.
v
Provider Configuration
: Veritabanına ilişkin sağlayıcı ayarlarını yaptığımız kısım.
Security
Bölümünü Seçiniz.

Create
User Seçimi yapınız.

Veritabanınıza
birkaç tane Kullanıcı tanımlayınız. Password en az 7
karakterli ve içeriğinde +,_,# gibi karakterler Harfler ise büyüklü küçüklü
olması gerekir.
Örnek Password : A1+23b45-6
Yetkilendirme
( Rol ) Tanımlama:
Web Site menüsünden ASP.NET Konfigürasyon seçimi yapılarak
konfigürasyon penceresi açılır. Açılan Pencereden Role biriminden Create or Manage role seçimi
yapılır.

Create
or Manage Roles seçimi ile Rol isimlerinin tanımlanacağı pencere
açılır.

Uye, Yonetici, Misafir Rol’lerini tanımlayınız.

Tanımlanmış
rollere yetki ataması yapmak için;

Create
access rule seçimi yapınız.

Oluşturduğunuz Uye, Yonetici, Misafir
Rolleri için aşağıdaki yetkilendirmeleri seçiniz.
Rule Applies to Bölümünden Role açılır
listesinden Rolleri seçerek aşağıdaki yetkilendirmeleri veriniz.
|
Yonetici
|
Allow
|
|
Uye
|
Allow
|
|
Misafir
|
Deny
|
|
|
|
Allow : izin ver
Deny : Engelle izin verme
Anonim
erişimlerin yetkilendirilmesinde Deny seçimi yapınız.
Configürasyonun Security biriminden Manage
Access Rule seçimi ile aşağıdaki roller ve bu rollere
atanmış Rule’ler(Yetkiler) görüntülenir

Kimlik
Denetimi:
Buraya
kadar Konfigürasyon ayarları Form Kimlik denetimi ile oluşturuldu. Projenin
Konfigürasyon ayarlamasına başlarken üç seçim bize önerildi
1-
Form Kimlik Denetimi: Ziyaretçinin oturum açması Web
sayfasındaki form üzerinden doldurularak (Kullanıcı adı, Şifre gibi ) server’a gönderilmesi ile gerçekleştirilir.Sunucu talebi
aldığında Ziyaretçinin bilgisayarına Çerez(cookie)
bırakır ve içeriğine yazar.
2-
Windows Kimlik Denetimi: Özellikle intranet
uygulamalarında oluşturulan uygulamalar için kullanılır. Windows
yapılandırılmasında IIS ve Active Directory’de
oturum açılarak denetim burada yapılır.
3-
Password Kimlik Denetimi: Oturum açma, kimlik ve tanıtım bilgileri Microsoft passport sunucusuna
aktarılır ve denetim buradan sağlanır.
Form Kimlik Denetimi Modeli :
Örneğin Omer isimli siteye
kayıtlı bir kullanıcı misafir kullanıcılar için erişilemeyen bir A sayfasını görüntülemeye çalıştığında oturum
açma sayfası görüntülenir. Kullanıcı adı ve Şifresi ile oturumu açar.Oturum
açıldığında Omer’in Makinasına
bir çerez(cookie) bırakılır. Omer
oturumu açtıktan sonra B sayfasını görüntülemeye çalıştığında Omer’in n tarayıcısı tekrar sunucuya çerezin bir kopyasını
gönderir ve oturum kapatılmadan B sayfası görüntülenir.
Omer Başlangıç sayfasını(default) talep ettiğinde, talep Çereze eklenir ve sunucuya
gönderilir, sayfa kısıtlanmadığından çerez dikkate alınmaz ve sayfa
görüntülenir. Omer kullanıcısı oturum açıldıktan
sonra A, B gibi sayfaları rahatlıkla gezinebilir. Ancak tarayıcı kapatılmadığı halde 20 dakikanın
üzerinde hiçbir işlem yapılmazsa Bilgisayara bırakılan çerez silinir ve Omer tekrar oturum açarak sayfaları görüntülemek zorunda
kalır.
>