Говоря о веб-приложении, обычной практикой является наличие пула соединений с уникальным пользователем.
Каждый запрос использует уже открытое соединение из этого пула. Таким образом, вы получите гораздо лучшие результаты. (соединения уже открыты, кеш подготовленных операторов, ...)
Что касается того, к каким данным пользователи должны иметь доступ или нет, они должны быть закодированы на служебном уровне приложения, а не в базе данных (я бы сказал, в культуре веб-приложений).
Кроме того, описанная вами система будет затруднена для поддержания правильной синхронизации между пользователями приложения и пользователями базы данных.