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

时间:2015-02-11 09:08:25

标签: authentication mean.io

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

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

1 个答案:

答案 0 :(得分:5)

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

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

其次,User包基本上是安全/身份验证功能,而不是定期接收更新的配置文件实现。改变这种情况很可能会破坏未来的修复并带来安全漏洞的风险。

我的建议是使用均值包系统实现配置文件,并为用户服务添加服务依赖项。我在之前的项目中做到了这一点并且效果很好。

要实施个人资料包,请按照以下步骤操作:

1)使用mean package profile创建一个名为profile的自定义包。

2)为自定义包中的所有配置文件要求实施模型/视图/控件。不要改变用户包中的任何内容。

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

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

希望这会有所帮助;)