具有多个角色的用户共享同一用户实体

问题描述 投票:0回答:1

在我的应用程序中,用户有多个角色,即客户、提供商、经理、管理员等,每个用户都可以创建自己的个人资料、登录、注册、忘记密码、更改密码等。由于所有这些功能都是相同的,我更喜欢在用户实体上使用角色并放置适当的角色。

这样,我必须创建一次上述 API 调用,并且它们适用于所有角色。

  1. 这样工作正确吗?
  2. 然后它们是某些角色所需的一些字段,而其他角色则禁止这些字段,在这种情况下,当我将用户保存到数据库后返回时,它会为这些禁止字段返回 null,并且该 null 会发送到前端,因为我的序列化器将其序列化到具有这些字段的用户实体上。
  3. 如何根据角色发回所需的内容。
node.js nestjs typeorm
1个回答
0
投票

这更多的是一个固执己见的问题,可以根据您的业务需求进行更改。

但是为了帮助你找到一些方向,我再次表示固执己见。

  1. 只要每个角色只有几个字段或没有字段发生变化,是的,该方法就是正确的。我的一个生产应用程序使用相同的概念。我在 NoSQL 数据库中维护一个字符串数组作为
    roles
    字段。
  2. 我在输入第一个问题后阅读了这个问题,是的,正如我所说,如果每个角色的一些字段不同,我宁愿只保持这样。但如果此类字段的数量增加,我将在我的实体中使用继承模式(也来自 Hibernate 背景)。
  3. 您将必须实现自定义过滤器/序列化器才能实现此目的。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.