Веб-приложение: управление доступом пользователей к базе данных - PullRequest
2 голосов
/ 08 августа 2011

Я хотел бы знать, как лучше всего контролировать доступ к базе данных разных пользователей. Поскольку я реализую общий сценарий входа пользователей в приложение перед доступом к определенным страницам, я подумал, что было бы также неплохо ограничить доступ к базе данных только теми данными, которые должен видеть каждый пользователь, путем создания представлений и новых пользователей в базе данных. Уровень предоставил только определенные разрешения. Эти пользователи базы данных будут иметь те же имена пользователей, что и эти пользователи для доступа к приложению, и поэтому, когда пользователи входят в систему, я могу получить доступ к базе данных с помощью имени пользователя, которое они предоставляют в форме приложения ... Это правильный способ продолжить?

Спасибо!

1 Ответ

2 голосов
/ 12 октября 2011

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

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

Кроме того, описанная вами система будет затруднена для поддержания правильной синхронизации между пользователями приложения и пользователями базы данных.

...