【发布时间】:2012-07-03 16:34:27
【问题描述】:
我们正在使用 Python Pyramid 与 SQLAlchemy 和 MySQL 来构建 Web 应用程序。我们希望拥有特定于用户的数据库连接,因此每个 Web 应用程序用户都有自己的数据库凭据。这主要是出于安全原因,因此每个用户只有自己的数据库内容的权限。我们还想保持连接池的性能优势。有没有一种方法可以在登录时根据用户凭据设置新引擎,并将该引擎重用于同一用户发出的请求?
【问题讨论】:
-
看看备忘录设计模式
-
0 否决票 您是否有充分的理由不想使用单个“代理”数据库用户而只管理应用程序逻辑中的所有授权/许可内容?这是更常见的操作方式。但可能我遗漏了一些细节,不想假设。
-
我们有不同级别的用户访问权限,要求用户不应访问其他架构。出于安全原因,我们的 DBA 希望将其锁定在数据库级别。
-
听起来不错,直到有人要求访问其他用户的东西。比如说,一个管理员。
标签: python sqlalchemy pyramid