[quote=“SILE_090”]Konkretno me zanima kakvu to primjenu ima u nekoj aplikaciji?[/quote]Zašto bi to imalo primjenu u aplikaciji i što bi uopće to značilo?
Aplikacija je samo klijent koji služi korisniku da dodaje/briše/ažurira zapise u bazi podataka, te izrađuje izvještaje. Sve te operacije bi korisnik mogao činiti tako da se izravno prijavi na poslužitelj baze podataka i izdaje naredbe u SQL-u, te pokreće pohranjene procedure. Naravno, to bi bilo vrlo nepraktično i neprikladno. Stoga on koristi aplikaciju kako bi iste te operacije obavljao preko ergonomskog korisničkog sučelja.
Dakle, nakon što u aplikaciju unese svoje podatke za prijavu na bazu podataka, svaka daljna operacija koju korisnik pokrene
kroz aplikaciju će se izvršiti uspješno ili rezultirati pogreškom, ovisno o tome kakva prava nad podacima ima u bazi podataka dodjeljen taj korisnički račun.
Aplikacija nije ništa drugo doli, kako se engleski to veli, “glorificirana” konzola servera - upravo ona koju ti koristiš za rad s bazom (mysql ili SQL Management Studio ili Toad ili sl.)
[hr][/hr]
Zbog toga što su se baze podataka odlično uklopile u komponentnu paradigmu razvoja softvera, pa ih je vrlo jednostavno uključiti u bilo koji scenarij, one se vrlo često koriste kao nekakva prikladna skladišta podataka za aplikacije koje nisu primarno namijenjene manipulaciji podacima. Primjerice, umjesto u nekakvim informacijskim sustavima - od bankarskih, preko knjigovodstvenih, do aplikacija za videoteke, baze podataka se često uključuju kao komponente programa igrica, softvera za nadzor ili upravljanje ili sl. Tamo razmišljati o korisnicima na razini baze podataka i nije prva stvar koja bi ti trebala pasti na pamet u pogledu osiguravanja pristupa procesu kojim se kroz program upravlja.
Ne zaboravi da autentifikacijski podsustav ima i sam operacijski sustav, pa čak i da se autentifikacijski sustav OS-a može povezati s onim od baza podataka (SSPI kod Windowsa). Koristiti login korisnika u OS-u može biti u nekim slučajevima prikladnije, pogotovo ako se računala nalaze u domeni.
[hr][/hr]
Konačno, kao pomalo specifična kategorija su se razvile web-aplikacije koje mogu imati tisuće nepoznatih korisnika. Vidim da se u praksi za takve aplikacije razvija vlastiti sustav autentifikacije (npr. “Forms authentication” u ASP.NET-u, a i “Basic HTTP authentication” bi se mogao ovdje uključiti, u Apacheu podržano kroz htaccess i htpasswd i sl.). Ovome se pribjegava vjerojatno zato što bi bilo teško upravljivo imati tisuće korisničkih računa otvorenih od strane nepoznatih ljudi u OS-u ili u bazi podataka. Međutim, ako se radi o web-aplikaciji koju koriste dobro poznate osobe (npr. zaposlenici nekog poduzeća), korištenje sustava baze podataka ili OS-a (integrirano s bazom) je opet u igri.