Вот фрагмент из главы 9 Контроль доступа :
Если несколько приложений используют одну и ту же базу данных аутентификации, вы можете отключить миграции: auth.define_tables(migrate=False)
.
У меня есть установка, в которой я хотел бы, чтобы каждое из моих приложений совместно использовало одну и ту же пользовательскую базу данных, но у меня есть собственные базы данных, которые отделены от пользовательской БД.
Несмотря на то, что я просматривал Access Control и Документация по уровню абстракции базы данных Я не нашел пример того, как это настроить.
Насколько я могу судить, я могу создать новый DAL, указывающий на базу данных пользователей вкаждое приложение, но я не уверен, как указать всю аутентификацию для этой базы данных и где установить migrate=false
.
Что-то вроде внутри файла db.py
приложения:
auth_db = DAL('sqlite://storage.sqlite',
migrate=False)
а затем, может быть, немного дальше вниз, измените:
auth = Auth(db, host_names=configuration.get('host.names'))
на:
auth = Auth(auth_db, host_names=configuration.get('host.names'))
Я попробовал это, и это не сработало.
Разъяснение по шагамтребуется разделить аутентификацию между приложениямиeciated!