Buradasın
.NET Framework Application Services ve Windows Kimlik Doğrulama Eğitimi
youtube.com/watch?v=FuD_qX7KBiwYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Burak Sevmiş Şenyurt tarafından sunulan bir görsel eğitim dersidir. Eğitmen, .NET Framework'deki Application Services (istemci uygulama servisleri) konusunu anlatmaktadır.
- Video, Application Services'in üç temel bileşeni (Authentication, Role ve Profile servisleri) ile başlayıp, Windows Form uygulaması üzerinden bu servislerin nasıl kullanılacağını adım adım göstermektedir. İçerikte web service uygulaması oluşturma, web.config dosyası ayarları, veritabanı yapılandırması, IIS üzerinden host etme, ASP.NET website administration tool üzerinden kimlik doğrulama ayarları ve test kullanıcılarının oluşturulması gibi konular ele alınmaktadır.
- Eğitim, Windows uygulamasında login formu oluşturma, servislerden authentication servisi kullanarak kullanıcı doğrulama işlemini göstermekte ve SQL Express Edition kullanarak veritabanı bağlantısı kurma gibi pratik uygulamaları içermektedir. Ayrıca, bir sonraki videoda custom credential provider yazma, kullanıcı rollerine göre form düzenleme ve profil kişiselleştirme gibi konuların ele alınacağı belirtilmektedir.
- 00:29Clyde Application Servisleri Tanıtımı
- Bu görsel dersde Clyde Application Servisleri (istemci uygulama servisleri) incelenecek.
- Amacımız Windows uygulamasından USB donet üzerinde profil yönetimi, rol yönetimi ve authentication yönetimi hizmetlerini kullanabilmek.
- Authentication, rol ve profil hizmetleri için ayrı ayrı servisler bağlanacak.
- 01:18Application Servislerinin Özellikleri
- Application servisleri içerisinde .NET Framework'e gömülü olan buton servisleri bulunuyor.
- Authentication hizmeti kullanıcının doğrulanması için kullanılır.
- Rol servisi kullanıcıların hangi rollerde olduğunu belirlemek için yardımcı olur ve menülerin değişiklik göstermesi rol yönetimine bağlanabilir.
- Profil servisi, tüm kullanıcılar için ortak olan özelliklerin farklı sunucu üzerinde saklanabilmesi prensibine dayanır ve web uygulamaların kişiselleştirilmesi için kullanılır.
- 02:27Servislerin Veri Kaynağı ve İstemci Çeşitleri
- Servislerin her biri kullanıcı verileri üzerinde konuşlandırılmalı ve bir veri kaynağına ihtiyaç duyar.
- Varsayılan olarak SQL Express Edition üzerinden kurulan MDF dosyası kullanılır, ancak SQL sunucusu veya farklı veri kaynakları da kullanılabilir.
- İstemci tarafında web tabanlı uygulamalar, .NET Framework istemcileri (Windows uygulaması, Windows servisi, WPF tabanlı uygulama, tablet tabanlı uygulama) ve SOAP istemcileri (X platformundaki Java uygulamaları) bulunabilir.
- .NET Framework tabanlı istemciler HTTP üzerinden JavaScript Object Notation formatında mesajlaşma kullanırken, SOAP istemcileri SOAP 1.1 protokolüne uygun mesajlaşarak hizmetlerden faydalanabilir.
- 05:50Örnek Uygulama Geliştirme
- Örnek uygulamada bir Windows form uygulaması geliştirilecek.
- Basit bir login formu olacak ve bu formdan servise bağlanıp kullanıcıyı doğrulatmaya çalışılacak.
- Doğrulama başarılı olursa program açılacak.
- 06:30Uygulama Yapısı ve Servis Geliştirme
- Uygulama içerisinde ana form ve login formu bulunuyor.
- Login formunda kullanıcı adı ve şifre bilgileri isteniyor, şifre textbox'ı için password text özelliği kullanılıyor.
- Servis tarafı için yeni bir web service application ekleniyor ve "Clean-up Services" adı veriliyor.
- Web.config dosyasında authentication service, profil service ve rol service elementleri etkinleştiriliyor.
- Doğrulanacak kullanıcıları tutmak için AppData klasörü altına "aspnet" adında bir MDF dosyası oluşturuluyor.
- 10:24ASP.NET Web Sunucusu Ayarları
- Projede web kısmına girerek "use lokal iss web server" seçeneği kullanılarak sunucu üzerinde çalıştırma sağlanıyor.
- Port sorunları yaşanabildiği için development aşamasında Visual Studio Development Server'i kullanılması öneriliyor.
- Windows istemcilerin erişeceği rol authentication servisi ve profil servisi adresi önemli bir faktör olarak belirtiliyor.
- 11:14Test Kullanıcıları Oluşturma
- ASP.NET Website Administration Tool'u açılarak güvenlik kısmına geçiş yapılıyor ve form based authentication seçiliyor.
- İki test rolü oluşturuluyor: yönetici ve çalışan.
- İki test kullanıcı (Burak ve Bilal) oluşturulup, Burak'a yönetici rolü, Bilal'e çalışan rolü atanıyor.
- 12:39Veritabanı Kontrolü
- Database tarafında yapılması gerekenler tamamlandıktan sonra web.config dosyasında authentication modu Windows'u default olarak forma çekti.
- Update klasöründe aspn db mdf dosyasının oluşturulduğu ve users tablosunda oluşturulan iki kullanıcının verilerinin bulunduğu görülebiliyor.
- 13:31İstemci Uygulamasında Servis Ayarları
- İstemci uygulamada özellikler penceresine girip services kısmına geçerek "enable client application services" seçeneği tıklanıyor.
- Authentication, roll ve profil servisleri için ayrı ayrı lokasyonlar belirleniyor, bu da servislerin farklı makinelere dağıtılabileceği anlamına geliyor.
- Production ortamlarında servislerin HTTPS olmasına özen gösterilmesi öneriliyor.
- 15:22Kodlama Hazırlığı
- Windows uygulamasında System.Web.Security referans edilmesi gerekiyor çünkü membership apisine ve diğer web tabanlı rol profil tiplerine erişebilmek için.
- Membership sınıfının statik metotları arasında validate user isimli bir metod bulunuyor ve bu metod kullanıcı adı ve şifre parametrelerini alarak doğrulama yapıyor.
- Validation başarılı olursa form gösteriliyor, başarısız olursa uyarı mesajı verilip uygulama kapatılıyor.
- 17:31Exception Yönetimi ve Form Yükleme
- Windows uygulaması valid user metodunu kullanırken servisleri çağırıyor ve HTTP üzerinden mesajlar gönderiyor, bu nedenle bağlantı kopması veya servis bulunamaması durumunda WebException oluşuyor.
- Exception işlemleri exception blokları içerisine dahil edilmeli.
- Form yüklendiğinde giriş yapmış olan kullanıcıya ait datalar gösterilebilir, bunun için Trade.System.Trading ağının altında yer alan CurrentPrinciple özelliğinden hareket edilerek IdentityRapti'sine geçilebilir.
- 19:19Windows Uygulaması Testi
- Formun text özelliğine set edilerek proje build edildi ve teste başlandı.
- Form1 kullanıcı tarafından kapatıldığında uygulama asılı kalabilir çünkü Application Run metoduna Login Form bildirilmiş.
- Amacımız istemci uygulama servislerine erişim sağlamaktır.
- 20:13Hata Mesajı ve Çözüm
- Yanlış bilgiler girildiğinde "Web site internal server error" ve uzun bir exception mesajı alındı.
- Hata mesajının sebebi Server Export'da açılan asp.net mdf dosyasına bağlı durum ve connection'ın kapatılmamasıydı.
- SQL Express Edition servisin çalışıyor olması gerekiyor, aksi takdirde asp.net db mdf oluşturulamayacaktır.
- 21:24Doğru Giriş ve Asılı Kalma Sorunu
- Doğru kullanıcı bilgileri girildiğinde Form1 açıldı ve user name gözüktü.
- Form kapatıldığında Application Login Form hala arka planda açık duruyor.
- Kullanıcının rolüne göre form üzerindeki butonların gösterilmesi veya menünün değiştirilmesi sağlanabilir.
- 22:10Gelecek Adımlar
- Bir sonraki videoda custom bir credential provider yazılacak.
- Program serisi içerisinde başlangıç formu olacak, ancak credential provider olarak belirlenen form otomatik olarak ekrana gelecek.
- Yanlış kullanıcı veya şifre girildiğinde üç kere arka arkaya form çıkacak, üçüncüden sonra uygulama kapanacak gibi durumlar ele alınacak.
- 23:06Özet ve Ek Bilgiler
- Windows uygulamasının servisler üzerinden authentication servisini kullanarak login olabilmesini sağladık.
- Kullanıcının çalışmakta olduğu bilgisayarın servise erişemiyor olma durumları söz konusu olabilir.
- Offline modda çalışma teknikleri ilerleyen kısımlarda değinilecek ve konu hakkında daha detaylı bilgi makaleden takip edilebilir.