В повечето уеб приложения вашият модел на защита се дефинира на ниво бизнес логика, а не на ниво данни.
Например, способността ми да редактирам публикация в Stack Overflow не се контролира от способността ми да чета/пиша в таблицата "posts" - всъщност вероятно дори не бихте могли да проектирате схема на база данни, която да ви позволи да внедрите ниво на база данни сигурност на това ниво. Вместо това има слой на бизнес логиката, който сравнява моите привилегии с действието, което се опитвам да предприема (предполагам); сигурността е внедрена на ниво бизнес логика.
Честно казано, не виждам почти никаква полза от преминаването на идентификационни данни към слоя база данни - ако по някакъв начин бях заобиколил бизнес логиката за контролиране на това кой може да редактира SO публикации, контролите за "четене/запис" на базата данни нямаше да го попречат и одитът нямаше наистина не ти помагам.
Виждам МНОГО недостатъци - не на последно място фактът, че ще разделите логиката си за оторизация на две (бизнес логика и база данни) и ще въведете всички видове забавни режими на отказ със синхронизиране на акаунти във вашия слой бизнес логика и слой база данни (потребителите променят своите парола или напускане на уеб сайта). Не мога да си представя как разумно бихте тествали и отстранявали грешки във всичко това - какво се случва, ако краен потребител получи грешка, свързана с привилегиите на базата данни?