Page 84 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 84

84 | Kimlik Doğrulama Altyapılarının Kullanımı





           2. CAS Yazılım Bileşenleri


           CAS sunucusu üç katmanlı alt sistemler kullanılarak tanımlanmaktadır:

           •   Web (Spring MVC/Spring Webflow)

           •   Biletlendirme (Ticketing)
           •   Kimlik denetimi (Authentication)

           Web katmanı, CAS istemcileri arasında iletişim için uçlar (endpoints) sağlar ve sahip olduğu view’ları
           webflow  sayesinde  yönlendirilmiş  uygulama  (Guided  Application)  haline  getirir.  Kullanıcı,  CAS
           üzerinde kimlik doğrulaması yaptıktan sonra, CAS tarafından SSO oturumu (session) yaratılır ve TGC

           isminde çerez (cookie) ile TGT (Ticket Granting Ticket) sağlanır. Bu TGT kullanılarak CAS istemcilerine
           ST (Service Ticket) sağlanır ve CAS’ta bu bilet (ticket) denetlenir. Bu işlemler, biletleme (ticketing)
           katmanında gerçekleştirilir. Bu işlemler için daha ayrıntılı akış aşağıda anlatılmıştır. Henüz CAS’a giriş
           yapmamış bir kullanıcı, CAS istemcisi uygulamaya istek attığında, giriş yaptırılması için HTTP 302
           cevabı dönülür. Kullanıcı bu isteği aldığında CAS’a otomatik istek atar. Burada kullanıcı adı ve şifre
           girildikten sonra TGC isminde çerez ayarlanır ve kullanıcıya tek kullanımlık ST verilir. Kullanıcının
           CAS’a  yönlendirilmesine  neden  olan  uygulamaya  tekrar  gitmesi  için  HTTP  302  cevabı  dönülür.

           Kullanıcı,  bu  ST’yi  kullanarak  uygulamaya  istek  atar.  Uygulama  gelen  istekteki  ST’yi  denetlemek
           için CAS’a istek atar, Eğer doğrulama sağlanırsa HTTP 200 dönülür ve uygulama da, kullanıcıya giriş
           yapıldığını belirten oturum bilgisini JSESSIONID çerezi ile cevap döner. Kullanıcı, bundan sonraki
           tüm  isteklerinde  bu  JSESSIONID’yı  ekler  ve  CAS’a  gerek  kalmadan  uygulama  üzerinden  oturum
           doğrulama gerçekleşir. Kullanıcı başka bir CAS istemcisi uygulamaya erişim sağladığında, burada
           giriş yapmamış olduğundan giriş yapması için kullanıcıya HTTP 302 cevabı dönülür. Kullanıcı, bu
           isteği aldığında CAS’a otomatik istek atar. Gelen istek içerisinde TGC olduğundan kullanıcı adı-şifre
           işlemi atlanır. Kullanıcıya direkt tek kullanımlık ST verilir ve akış yukarıdaki gibi devam eder.






           3. Kurulum

           CAS,  kodu  indirip  derlemek  yerine  zaten  derlenmiş  haline  eklemeler/çıkarmalar  yapmayı  sağlamak  için
           overlay adında şablon (template) sağlar. Yani tüm kodları indirip, içerisinde değişiklik yaparken kaybolmak
           yerine  bu  sade  hali  üzerinde  kolayca  değişiklik  yapılabilir.  Overlay  template  ile  binary  dosyalar  indirilir,
           ekleme/çıkarma  ile  yapılandırma  dosyaları  binary  hale  getirilip  eskileri  ile  değiştirilir  ve  son  olarak  kalan
           binary dosyaları ile birleştirilip war altında arşiv oluşturulur. Java sınıflarını, resources ve static dosyalarını
           (js, css, images) değiştirebilmek için src klasörü altında yapılandırma dosyaları oluşturulur. Bunlar, önceden
           indirilmiş binary dosyaları ile paket konumu ve ad olarak tam eşleşmelidir. src klasörü dışında yapılan tüm
           değişiklikler derleme aşamasında kaybolur. Sistemde gradle yüklü olmalıdır ve JAVA_HOME,  Java yolunu
           (path) göstermelidir.



            Kurulum Kaynak Kodu
            https:-/github.com/apereo/cas-overlay-template.git
   79   80   81   82   83   84   85   86   87   88   89