Mean.io - 扩展用户模型的最佳实践

Mean.io - Best practice to extend User model

Mean.io 在用户包中带有一个内置的用户模型。如果我想向该用户模型附加其他数据,那么扩展该用户模型的最佳做法是什么?

我使用 Django 的经验让我创建了一个 "profile",它有一个指向它所属的用户对象的外键。我喜欢这种方法,因为我不会那样接触用户包。但这是最佳实践吗?如果是这样,我如何确保在创建用户文档时创建配置文件文档?如果不是,那是什么?

我不确定 qm69 的解决方案是否是未来与 mean 兼容的最佳解决方案。在 mean.io 文档 http://learn.mean.io/ 中,它指出开发人员不应更改任何核心包,包括用户包。

mean.io 模式是将所有扩展实现为自定义包。并使用 $viewPathProvider.override 方法覆盖默认视图。

其次,用户包基本上是一个 security/authentication 功能,而不是定期接收更新的配置文件实现。改变这一点很可能会破坏未来的修复并有引入安全漏洞的风险。

我的建议是使用方法包系统实施配置文件并为用户服务添加服务依赖项。我在以前的项目中做过这个并且效果很好。

要实施配置文件包,请按照以下步骤操作:

1) 使用平均包配置文件创建一个名为配置文件的自定义包。

2) 为自定义包中的所有配置文件要求实施 model/view/control。不要更改用户包中的任何内容。

2) 使用依赖注入来包含全局服务服务。这将使您能够访问 Global.user 数据,因此您很可能甚至不需要使用用户服务。

3) 使用上述 doco 中提到的 $override 方法覆盖任何用户视图。

希望对您有所帮助 ;)