flask - 我想让我的单租户前夕应用程序多租户,也许使用烧瓶登录
问题描述
我目前有一个单租户 eve 应用程序,效果很好,但想让它成为多租户。也就是说,我想允许多个用户登录,每个用户都有一个完全独立的数据库(或不同的表?)。
我查看了用于管理用户登录(和注册)部分的烧瓶登录,但我不清楚如何将其集成到我现有的 eve 应用程序中,以便每个用户都有不同的数据库。
http://python-eve.org/authentication.html#auth-driven-database-access上的 eve 文档有以下示例。
from eve.auth import BasicAuth
class MyBasicAuth(BasicAuth):
def check_auth(self, username, password, allowed_roles, resource, method):
if username == 'user1':
self.set_mongo_prefix('MONGO1')
elif username == 'user2':
self.set_mongo_prefix('MONGO2')
else:
# serve all other users from the default db.
self.set_mongo_prefix(None)
return username is not None and password == 'secret'
app = Eve(auth=MyBasicAuth)
app.run()
但是,这假设 MONGO1 和 MONGO2 是在我的 settings.py 中静态定义的。有没有办法为在我的应用程序中注册的每个用户动态创建一个新数据库?
在此先感谢,基思
解决方案
推荐阅读
- ios - 无法将 xcassets 分配给 Xcode 11 上的主要目标
- python - 如何从 python 中的服务器更新客户端标签?
- python - 如何通过逻辑回归应用 Leave one out 交叉验证并找到系数的值?
- reactjs - 找不到模块:无法解析“反应”
- c# - 将文本的特定部分子串到对象列表的最有效方法是什么
- firebase - 我可以使用 firebase_functions_interop 从 Cloud Function 对 Firestore 执行“集合组查询”吗?
- python - 我不明白 index() 线是如何工作的
- python - 将不具有相同列的数据帧列表连接到一个数据帧
- javascript - innerHTML 会影响性能吗?
- html - 将链接和文本放在同一行弹出窗口中