2012-07-02 3 views
0

Мы используем Pyramid Python с SQLAlchemy и MySQL для создания веб-приложения. Мы хотели бы иметь пользовательские соединения с базой данных, поэтому каждый пользователь веб-приложения имеет свои собственные учетные данные для базы данных. Это прежде всего по соображениям безопасности, поэтому у каждого пользователя есть привилегии для собственного содержимого базы данных. Мы также хотели бы сохранить преимущество производительности пула соединений. Есть ли способ, которым мы можем настроить новый движок во время входа в систему на основе учетных данных пользователей и повторно использовать этот движок для запросов, сделанных одним и тем же пользователем?Как управлять подключениями к конкретным данным в веб-приложении Pyramid?

+0

взглянуть на сувенир шаблон проектирования –

+0

0 вниз голосования \t Есть веские причины, почему вы не хотите использовать один «прокси» пользователя базы данных и просто управлять всеми авторизации/разрешения вещи в вашем приложении логика? Это более распространенный способ работы. Но, возможно, я пропущу некоторые детали и не хочу предполагать. – cdaddr

+0

У нас есть разные уровни доступа пользователей с требованиями, которые пользователи не должны иметь доступ к другим схемам. Наш администратор базы данных хочет заблокировать это на уровне базы данных по соображениям безопасности. – Sean

ответ

0

Лучший способ сделать это, что я знаю, - использовать одну и ту же базу данных с несколькими схемами. К сожалению, я не думаю, что это работает с MySQL. Идея заключается в том, что вы подключаете пулы подключений к одной и той же базе данных, а затем, когда вы знаете, что пользователь связан с запросом, вы можете переключать схемы для этого соединения.

Смежные вопросы