Page tree
Skip to end of metadata
Go to start of metadata

Netcad Form Authentication - Single Sign On (SSO) - Sistem Yöneticisi Rehberi

Netcad Form Authentication, istemcide görünür halde bir "sessionId" bilgisi olmadan ilgili tüm web uygulamalarında ortak kullanıcı kimliği tanımlanıp kullanılabilmesini sağlayan bir yapıdır. Oturum bilgisi, cookie (çerez) ile takip edilir. Yani kimlik bilgileri doğrulanan kullanıcı için bir tarayıcı çerezi oluşturulur. Bu çerezin bağlı uygulamalarda geçerli olması sayesinde oturum tüm uygulamalarda geçerli olmuş olur.

Sistem Gereksinimleri

  • Dosya Gereksinimi
    Uygulamanın çalışma konumunda (yani; bin klasöründe) Netcad.Web.Security.dll dosyasının bulunması gerekmektedir. (NOT: Netgis Server uygulamasında buna gerek yoktur)

  • Modül Tanımlaması (web.config)
    Base, Netigma, SDK kısacası Netgis Server dışındaki tüm uygulamalarda, web.config içerisinde "NetcadFormsAuthenticationModule" modülünün kaydedilmesiyle çalışabilir hale gelir. 
    NOT: Netgis Server, bu yapıyı kendi sağlamaktadır bu sebeple bu uygulamanın web.config dosyasında böyle bir ayar yapılmaması gerekmektedir.

  • Güvenlik Anahtarı Gereksinimi (web.config)

  • İlgili tüm uygulamaların aynı çerezi okuyup, yazabilmesi için ortak bir şifreleme anahtarı kullanması gerekmektedir. Bunun için tüm uygulamaların web.config dosyasında aynı machinekey kaydına sahip olması gerekmektedir. Bunun için IIS (Internet Information Service)' ten uygulamayı seçip sağ bölümde bulunan Makine Anahtarı (Machine Key) menüsüne tıklanır. Açılan pencerede "şifreleme yöntemi" ve "şifrele çözme yöntemi" olarak AES' i seçilir. Sağda bulunan "Anahtarları Oluştur" ve sonra da Uygula menüsüne tıklanır. Daha sonra oluşan anahtarlar kopyalanır diğer Netcad web uygulamaları için de aynı pencere kullanılarak yapıştırılır. Böylece tüm web uygulamaları şifreleme işlemleri için aynı yöntem ve bilgileri kullanacaktır. Güvenlik nedenleriyle anahtarlar belirli aralıklarla yenilenmelidir.

Varsayılan Konfigürasyon için Ayarlar:

Varsayılan konfigürasyon, uygulamaların tamamının aynı sunucuda farklı uygulamalar olarak yüklenmiş olmasıdır.

Örnek: 

http://appServer/base/authenticationServer

http://appServer/base/parameterServer

http://appServer/belnet  vs.

Yapı bu en basit konfigürasyonda çalışacak şekilde ayarlanmıştır normal şartlar altında bu konfigürasyon için bir düzenleme yapılması gerekmemektedir. Varsayılan ayarları aşağıdaki ekran görüntüsünde görünmektedir.

 

"Oturum zamanaşımı", "Oturum çerez adı", "oturum çerez ala adı bilgisi", ortak ayarlardır. Yani ilgili base' e bağlı tüm web uygulamalarda geçerlidir.

ÖNEMLİ

Ortak ayarlar Netgis Server uygulaması için geçerli değildir. Bu sebeple "Oturum Çerez Adı" bilgisinde Netgis Server' ın dahili olarak kullandığı  "NetcadIdentity" değeri yazmalıdır aksi halde Netgis Server SSO' a dahil olamaz.

Farklı Konfigürasyonlar için Gelişmiş Ayarlar

Kardeş uygulamaların (aynı base' e bağlı uygulamalar) farklı sunucularda olması veya aynı sunucuda birden fazla (base) uygulama bulunması gibi, farklı konfigürasyonlar; çerez tanımı ayarlarını değiştirerek karşılanabilir.

  • Oturum Çerezi Adı (cookieName): bu ayar aynı base' e bağlı tüm uygulamalarda geçerlidir ve uygulamaların aynı yada farklı sunucu yada domain altında çalışmalarına göre bir değişiklik yapılması gerekmez. Aynı sunucuda farklı 2 base ve bağlı Netcad uygulamalarının çalışmasının gerektiği durumlarda her sistemin kendi cookie' sine sahip olabilmesini sağlamak amacıyla ayarlanabilir olarak bırakılmıştır. 
    Örnek; base1 ve bağlı netigma1; base2 ve bağlı netigma2 gibi 2 farklı sistem olduğunu varsayalım. base1 ve base2 için farklı cookieName değerleri vererek uygulamaların birbirlerinin kullanıcılarından ayrıılması sağlanabilir. Kısaca, normal şartlar altında bu ayarda bir değişiklik yapılmaması gerekmektedir.

  • Oturum Çerezi Alan Adı Bilgisi (cookie domain name): bu ayar uygulamaların farklı sunucularda çalışması gerektiğinde kullanılmalıdır. 
    Örnek: Uygulamaların 2 sunucu üzerinde dağıtık olarak çalışması gerektiğini varsayalım; server1.xbelediyesi.com ve server2.xbelediyesi.com Bu durumda çerez alan adı bilgisi olarak xbelediyesi.com değeri verilerek çerezin her 2 uygulamada da geçerli olması sağlanabilir. Bu ayara IP adresi vs yazılmamalıdır.

  • Oturum Çerezi Uygulama Bilgisi (cookie path): bu ayar çerezin sunucu (website) altındaki hangi uygulamalarca erişilebileceini belirler. Varsayılan olarak "/" değerine sahiptir ve bu ayar ile aynı sunucudaki tüm uygulamaların çerezi kullanabileceği anlamanı gelir. Bu değere "/netigma" gibi bir değer yazılırsa sadece netigma uygulaması çereze erişebilir. Normal şartlarda bu ayarın değiştirilmemesi gerekir.
  • Oturum Zamanaşımı Süresi: Kullanıcının oturum açtıktan kaç dakika herhangi bir aktivitede bulumazsa oturumunun sonlanacağını belirler.

 

Yukarıda bahsedilen ayarlar Netcad Base' e bağlı tüm uygulamalarda ortak olan ayarlardır. Diğer uygulamalar, Parametre Sunucu' da yukarıdaki ayarlara sahip değildir. Mesela, çerez adında yapılacak bir değişiklik bağlı tüm uygulamalarda geçerli olacaktır veya zamanaşımı süresi değiştirildiğinde tüm uygulamalarda geçerli olacaktır.

Diğer Ayarlar (Uygulama Bazlı Ayarlar)

Aşağıdaki bahsedilecek ayarlar ise uygulama bazlı ayarlar olup, parametre sunucuda her uygulamanın kendi sayfasında bu ayarlar ayrı ayrı düzenlenebilir. Aşağıda bahsedilecek ayarlarda, konumlar; ~/default.aspx şeklinde uygulama kök dizini bağımlı ifade edilmelidir, yani tilda ile başlamalıdır. Tilda uygulamanın kök dizinini ifade eder.

  • Ana Sayfa Adresi (home page): Oturum açıldıktan sonra varsayılan olarak hangi sayfanın gösterileceğini belirler. Oturum açma sayfasına, oturum açılmadığı yada sonlandığı için otomatik bir yönlendirme ile gelindiyse oturum açıldıktan sonra varsayılan sayfaya değil önceki sayfaya yönlenir.
  • Oturum Açma Sayfası Adresi (login page): Kullanıcının oturum açması için yönlendirileceği sayfanın adresini belirler. Yetki sunucu haricindeki uygulamalar için boş bırakılırsa veya - olarak atanırsa, oturum açma sayfası olarak yetki sunucu kullanılır.
    Mesela, Netigma isimli uygulama için bu ayar boşsa, Netigma' da oturum açmak isteyen kullanıcı yetki sunucunun oturum açma sayfasına yönlendirilir.
  • Oturum Gerektirmeyen Konumlar: Uygulama içinde bulunan imaj, script vb oturum açılmış olması gerekmeyen konumlar bu alana yazılmalıdır. Her uygulama için parametre.config dosyası aracılığıyla bu ayara varsayılan değerler yüklenir. 
    Örnek: ~/images kaydı uygulama kök dizininde bulunan images klasörü içindeki dosyalara oturum açmamış kişilerin de erişebilmesini sağlar.  
  • Yasaklı Konumlar: Uygulama içinde oturum açmış kullanıcıların dahi erişememesi gereken konumlar varsa, bu ayarla tanımlanmalıdır.
  • Otomatik Misafir Oturumu Aç: Evet seçiliyse; oturum açmamış bir kullanıcı uygulamayı açtığında, otomatikman misafir(guest) olarak oturum açılmasını sağlar.

 

ÖNEMLİ

  • Parametre sunucudaki ayarlarda yapılacak değişiklikler, ilgili uygulamalara hemen yansımayabilir bu sebeple özellikle çerez ile ilgili ayarlarda web sunucusunun (IIS) yeniden başlatılması tavsiye edilir.
  • NetcadFormAuthentication kullanımında ya hep makine adı ya hep ip adresi kullanılmalıdır. http://sunucum/belnet adresinde oturum açılmış olsa ve sunucum isimli makinenin ip adresi 10.0.0.1 olsa bile uygulamaya http://10.0.0.1/belnet adresinden erişilmeye çalışılsa oturum geçersiz sayılır. Çerezler ip yada adrese göre düznelendiği için aynı anda ikisi için de geçerli olmaz.