sql >> Database teknologi >  >> RDS >> Oracle

Udtalelser om godkendelse mellem applikations- og databaselag

I de fleste webapplikationer er sikkerhedsmodellen defineret ved forretningslogiklaget, ikke datalaget.

For eksempel er min evne til at redigere et indlæg på Stack Overflow ikke kontrolleret af min evne til at læse/skrive til "posts"-tabellen - faktisk kunne du nok ikke engang designe et databaseskema, der ville tillade dig at implementere database-niveau sikkerhed på dette niveau. I stedet er der et forretningslogiklag, som sammenligner mine privilegier med den handling, jeg forsøger at tage (antager jeg); sikkerhed er implementeret på forretningslogiklaget.

Jeg ser ærligt talt næsten ingen fordel ved at gå gennem legitimationsoplysninger til databaselaget - hvis jeg på en eller anden måde havde omgået forretningslogikken for at kontrollere, hvem der kan redigere SO-indlæg, ville databasens "læse/skrive"-kontroller ikke forhindre det, og revision ville det hjælper dig ikke rigtig.

Jeg ser MANGE ulemper - ikke mindst det faktum, at du deler din autorisationslogik op i to (forretningslogik og database) og introducerer alle slags underholdende fejltilstande med synkronisering af konti på tværs af dit forretningslogiklag og databaselag (brugere ændrer deres adgangskode eller at forlade webstedet). Jeg kan ikke begynde at forestille mig, hvordan du fornuftigt ville teste og fejlsøge alt dette - hvad sker der, hvis en slutbruger får en fejl relateret til deres databaseprivilegier?



  1. hente data fra mysql database på basis af orlovstyper som Eksamen, Ulønnet, Årlig

  2. Hvordan kan jeg bygge en Android-app med lokal MySQL-database?

  3. Konfigurer opstartsmiljø i SQL Server Management Studio (SSMS) - SQL Server / TSQL vejledning del 7

  4. Hvordan indstilles tidszone for Postgres psql?