gpt4 book ai didi

eve - 我可以动态创建用于 mongo_prefix 的数据库实例吗?

转载 作者:行者123 更新时间:2023-12-01 13:22:29 25 4
gpt4 key购买 nike

mongo_prefix 看起来是为简单有效的数据分离而设计​​的,但您似乎需要在 settings.py 中预先定义可用的前缀。是否可以动态创建新前缀 - 例如在创建该用户时为每个用户创建一个新实例?

最佳答案

身份验证基类具有 set_mongo_prefix() 方法,允许您根据当前用户设置事件数据库。此片段来自 documentation :

Custom authentication classes can also set the database that should be used when serving the active request.

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('USER1_DB')
elif username == 'user2':
self.set_mongo_prefix('USER2_DB')
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()

当然,以上是一个简单的实现,但可能是一个有用的起点。请参阅上面的文档链接以获得完整的分割。

关于eve - 我可以动态创建用于 mongo_prefix 的数据库实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49354474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com