2016-06-09 66 views
-1

我想要使用Google身份验证(通过loopback-component-passport)和ACL访问控制来构建API。我还需要扩展标准用户模型,因为我有一些额外的数据字段。LoopBack API - 内置模型和持久性

默认情况下,UserAccessTokenACLRoleMappingRole型号使用的内存中存储的,即数据将丢失,一旦应用程序重新启动。所以,我的问题是:

  1. 留存数据到MySQL,我需要automigrate这些模型从内存到MySQL数据源。但是,如果我要将User型号扩展为StaffUser,是否需要在数据库中有UserStaffUser的表格?或者,我是否保留在内存UserStaffUser在MySQL?

  2. 护照组件添加自己的模型(UserIdentityUserCredentialApplicationCredentialPassportConfigurator)。是否有任何理由在MySQL中坚持这些内容,还是保留这些内存?

回答

0

留存数据到MySQL,我需要从内存到MySQL数据源automigrate这些模型。但是,如果我要将用户模型扩展为StaffUser,是否需要在数据库中为用户和StaffUser提供表?或者,我是否保留MySQL中的用户内存和StaffUser?

我不认为您需要将这些模型从内存中自动迁移到您的数据源。相反,您应该将应用程序的model-config.json中的模型的dataSource属性从默认的内存更改为您定义的数据源。如果您的应用只使用StaffUser,并且不需要User,则可能不需要将用户放入MySQL。

护照组件添加自己的模型(UserIdentity,UserCredential,ApplicationCredential,PassportConfigurator)。是否有任何理由在MySQL中坚持这些内容,还是保留这些内存?

Strongloop article中的“连接器”一节指出,内存数据源仅适用于开发和调试目的。我们不应该让登录相关信息存储在内存中,并让它们在应用程序重新启动时被清除。