2015-02-11 38 views
1

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

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

回答

5

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

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

其次,用户包基本上是安全/认证功能,而不是定期接收更新的配置文件实施。改变这种情况很可能会破坏未来的修复并引发安全漏洞。

我的建议是使用means软件包系统实现一个配置文件,并为User服务添加一个服务依赖项。我在以前的项目中已经完成了这项工作,并且效果很好

要实现一个配置文件包,遵循以下步骤:

1)创建使用平均的封装外形轮廓被称为自定义程序包。

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

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

3)重写使用上述DOCO提到的$重写方法的任何用户意见。

希望这有助于;)

+0

安迪,你能请您分享对如何扩展电子邮件模板复位密码和/或更改逻辑进行用户验证,如思考,我想有密码的长度不能8- 20,但6-8?谢谢。 – lexa 2016-12-28 21:22:20