eve 设置数据库,在设置里默认为 MONGO_DBNAME=database
如果要设置多数据库,使得不同端点资源访问不同数据库,
可以设置
比如一个资源 test=
{
'schema':{一些设置},
'mongo_prefix':此处设置前缀,比如设置为‘MONGO1’,则该资源访问的数据库为database1
如果需要不同的用户访问不同的数据库,在认证时可以有如下操作: 具体怎么用还未测试。
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()