我们正在开发一个服务于多个客户的Web应用程序。每个客户端都有多个用户。我们想要设计我们的模型模式:
我有两个问题,因为我们在MongoEngine的帮助下在Django中写这个。通过嵌套我们的用户(反过来又是登录),这对认证来说是一种痛苦吗?换句话说,MongoEngine是否支持这种类型的架构?并且可以以某种方式将当前Client对象附加到请求参数吗?
答案 0 :(得分:1)
如何查询代码并使用数据应该有助于推动如何设计架构。
查询将用户登录的内容是什么?可以匹配整个文档($elemMatch),如果存储在列表中,则必须这样做。否则,如果使用dot notation,则可以匹配User1用户名和User2密码。
所以你可以使用那个模式,但你必须要小心,可能不是最好的做法,特别是如果你想看看嵌套的用户对象会很麻烦。拥有大量无界限列表也不会表现良好。
至于将用户添加到请求上下文中 - 您始终可以创建own context来执行此操作。
最好翻转它并在Django中使用身份验证框架,但将客户端添加到用户。