Centralizuota autentikacija
Posted by Saulius Grigaitis 28/04/2007 at 22h17
Sveiki. Vienas dalykas, kuris nuolat mane žavi dirbant su Ruby ir Rails, tai kalnai kokybiško ir naudingo kodo, kuriuo gana lengva pasinaudoti. Šįkart trumpai apie centralizuotą autentikacijos servisą(CAS). CAS - servisas, suteikiantis "Single Sign-On" mechanizmą. Praktiškas pavyzdys - google.com. Turite vieną paskyrą (angl. "account"), prisijungiate prie sistemos vieną kartą ir galite naudotis visais servisais, nors jie yra visiškai skirtinguose serveriuose, stovi po atskirais domenais ir išsibarstę po visą pasaulį. Trumpai apie patį paprasčiausią CAS protokolą, kuris leidžia tai įgyvendinti paprastose sistemose. Reikalingas CAS serveris ir klientas, įsimylėjusiems Ruby - rubycas-server ir rubycas-client. Be abejo, reikalinga šiek tiek pasiskaityti dokumentaciją ir sukonfigūruoti juos, tai gana paprasta, tereikia išsirinkti CAS servisą aptarnaujantį serverį, surašyti domenus ir panašiai. Dabar įdomiausia dalis - autentikacijos procesas: 1. Jungiatės prie serverio klientodomenas.lt, kuris jus automatiškai nukreipia į CAS serverįhttps://serveriodomenas.lt/login?service=http://klientodomenas.lt http://klientodomenas.lt/?ticket=ST-956-Lyg0BdLkgdrBO9W17bXS https://serveriodomenas.lt/serviceValidate?ticket=ST-956-Lyg0BdLkgdrBO9W17bXS&service=http://klientodomenas.lt <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess>
<cas:user>vartotojo_vardas</cas:user>
</cas:authenticationSuccess>
</cas:serviceResponse> 
