• Buradasın

    Apache JAX-RS ve Spring Security Kullanımı Eğitimi

    youtube.com/watch?v=RprGKsR64Hc

    Yapay zekadan makale özeti

    • Bu video, Kodçuk Rahman Usta tarafından sunulan bir eğitim içeriğidir. Eğitmen, Apache JAX-RS ve Spring Security teknolojilerini tanıtmaktadır.
    • Video, öncelikle Apache JAX-RS ve Spring Security'in ne olduğunu açıklayarak başlıyor, ardından authentication ve authorization kavramlarını detaylı şekilde anlatıyor. Daha sonra bir örnek uygulama üzerinden bu teknolojilerin nasıl kullanılacağı gösteriliyor. Örnek uygulamada, web servis endpoint'i, Spring Security filtreleri, rol tabanlı erişim kontrolü ve müşteri servisi implementasyonu gibi konular adım adım inceleniyor.
    • Eğitim içeriğinde ayrıca müşteri ekleme, güncelleme ve silme işlemlerinin nasıl yapıldığı, sunucu ve istemci arasındaki iletişim, HTTP metodları (GET, POST, PUT, DELETE), XML ve JSON veri formatları, SecurityExceptionMapper kullanarak hata kodlarının nasıl değiştirileceği gibi konular da ele alınıyor.
    00:10Apache JAX-WS ve Spring Security Tanıtımı
    • Apache JAX-WS, web servislerini yönetmek için Apache Vakfı'nın bünyesinde geliştirilen bir projedir.
    • JAX-WS, Java Specification Request (JSR) 311, 204, 181 ve 67 numaralı destekleri içerir.
    • Spring Security, Spring Source bünyesinde geliştirilen kimlik doğrulama ve erişim kontrolü işlemlerini sağlayan güçlü ve esnek bir sistemdir.
    01:29Kimlik Doğrulama ve Erişim Kontrolü Kavramları
    • Kimlik doğrulama (authentication), kullanıcı adı ve şifre gibi bilgilerin sistem tarafından tanınması veya reddedilmesi olayıdır.
    • Erişim kontrolü (authorization), sistem tarafından tanınan kullanıcıların sistem kaynakları üzerindeki erişim haklarının boyutunu belirtir.
    • Her kimlik doğrulayan kullanıcı tüm sistem kaynaklarına erişecek diye bir kaide yoktur.
    03:03Apache JAX-WS ve Spring Security Bileşimi
    • Web servislerinde güvenlik konusu çok fazla önem arz etmektedir ve Spring Security standart bir çözüm sunmaktadır.
    • Örnek projede Spring, Spring Security, Aspect, Eclipse Jet, JAX-WS ve Concep Client kütüphaneleri kullanılmıştır.
    • Web.xml konfigürasyonunda Apache JAX-WS'nin servet implantasyonu ve Spring Security filtreleri tanımlanmıştır.
    05:37Web Servis Endpoint ve Metotlar
    • Müşteri servisi endpointinde GET, UPDATE ve DELETE operasyonları için gövdesiz yordamlar bulunmaktadır.
    • GET, AL; UPDATE, PUT; DELETE, DELETE HTTP isteklerini temsil eder.
    • Metotlarda parametreler path notasyonu ile referanslara enjekte edilir.
    08:10Metot Güvenliği ve Kullanıcı Tanımlamaları
    • Global metot security konfigürasyonunda Aspect-oriented programming kullanılarak Spring Expression Language ile metotlara gelen istekler kesilmiş ve erişim rolleri tanımlanmıştır.
    • Authentication provider ile müşteri ve admin rolleri tanımlanmıştır; Hüseyin Akdoğan müşteri rolüne, Altuğ Altıntaş hem müşteri hem de admin otoritesine sahiptir.
    • Filter config auto true özelliği ile minimum ihtiyaç duyulan özellikleri barındıran 10 adet filter class birbirine eklenmiş olarak hizmet sunmaktadır.
    10:15Müşteri Servisi Implementasyonu
    • Müşteri servis implementasyonunda HashMap türünde müşteriler referansı bulunmaktadır; key olarak long türünde, value olarak müşteri sınıfından bir nesne alınmaktadır.
    • Müşteri sınıfı basit bir POJO olup long türünde bir id değişkeni ve Spring türünde bir değişken içerir.
    • Get metodu, müşteri id'sini alarak müşteriler hashmap'inden ilgili müşteri nesnesini getirir ve client'e gönderir.
    13:44Müşteri Yönetimi İşlemleri
    • Müşteri ekleme işlemi sırasında varsayılan ID arttırılıp müşteri nesnesi HashMap'e ekleniyor ve işlem başarılı olduğunda OK kodu gönderiliyor.
    • Müşteri silme işlemi için silinmesi istenen müşterinin ID'si isteniyor ve HashMap'in remove metoduyla silinen nesne döndürülüyor.
    • Eğer müşteri nesnesi bulunmuyorsa "modifiye etmedim" statüs kodu client'e gönderiliyor.
    14:33Sunucu ve İstemci Yapılandırması
    • Sunucuda 9030 portundan bir Servet Jet Server çalışıyor ve targetın altındaki var arşiv dosyası çalıştırılıyor.
    • İstemcide müşteri ekleme, update ve delete istekleri gönderiliyor ve kullanıcı adı, şifre ve ID değişkenleri kullanılıyor.
    • HTTP: auto.config.buterin içerisinde on adet class için hizmet sunuluyor ve Spring Security logout filter, authentication processing filter gibi class'ları sağlıyor.
    16:21İstek İşlemleri ve Hatalar
    • İstemci istekleri gerçekleştiriyor ve kullanıcı adı ve şifre ile bir GET metodu çağrılıyor.
    • Kimlik denetimi doğrulanamadığında 401 numaralı hata kodu gönderiliyor.
    • GET metodu oluşturulurken müşteri servisine müşteri pathine bir ID gönderiliyor ve set metod header'da kullanıcı adı ve şifre şifreleniyor.
    18:23Content Type ve Veri Dönüşümü
    • Post veya put metodlarında güncelleştirme yapıldığında content type'a application xml ile yapıştırılıyor.
    • Get ve delete işlemlerinde content type belirtmeye gerek yok.
    • İstemci XML formatında veri istiyor ve sunucu XML formatında müşteri nesnesi döndürüyor, JSON istenirse JSON döndürülecekti.
    20:19Rol Yetkilendirmesi
    • Müşteri rolünde ve admin rolündeki kişiler müşteri bilgilerine erişebiliyor.
    • Update ve delete işlemleri sadece admin tarafından gerçekleştirilebiliyor.
    • Post metodunda kullanıcı ekleme işlemi yapılıyor ve kullanıcı bilgileri XML olarak tanımlanıyor.
    21:35HTTP Metodları ve İstisnalar
    • HTTP metodu işletiliyor ve statüs kodu döndürülüyor, erişim sağlanamıyorsa "authorization" hatası, kimlik denetimi doğrulanamadığında "an autosi" hatası veriliyor.
    • Update ve delete işlemlerinde de benzer şekilde XML olarak tanımlanıyor ve güncelleme işlemi gerçekleştiriliyor.
    • Kaynak erişim yetkisi yok hatası, kullanıcının otantikli olduğunu fakat bu kaynağa erişim olmadığını gösteriyor.
    24:19Security Exception Mapper
    • Security exception mapper, exception mapper interface exception'ı yakaladığında istenilen response kodu göndermeyi sağlıyor.
    • Örneğin 403 forbidden hata kodu 409 conflict hata koduyla değiştirilebiliyor.
    • Content type'ı XML olarak tanımlamışken JSON ile değiştirildiğinde dönen nesnelerin JSON formatında olduğu görülüyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor