0

在这种情况下,让我更具体地说明这个问题

我有一个 peoples 表(带有客户和供应商),我有一个 users 表(用于可以登录的用户)。

目前我有这个数据库结构

客户 -> 组织 -> 通过 rel_customer_addresses 链接到地址表。(因为 1 位客户可能有送货地址、发票地址等)

用户 -> 租户 -> 通过 rel_users_addresses 链接到地址表(因为 1 个用户可能有送货地址、发票地址等)

现在我已经在发票表 customer_key 中了。问题是当用户自己是客户并且发票来自他的一位客户时。如何指示我的网络应用程序查找用户而不是客户?

4

1 回答 1

0

由于您正在查看 2 个单独的实体(客户和用户),我将继续使用 2 个单独的表并让它们共享一个唯一标识符(即用户名、SID)。

这样一来,没有适当的权限,一个人就不可能看到另一个人的信息。

有几种方法可以控制它,但逻辑是这样的。

If userID exists in table user, do this.
If userID exists in table customer, do this.
If userID exists in table user AND table customer, do this.

这样,您就可以独立或共同完全控制局势。换句话说,您可以授予userID在 table 中找到的特殊权限customer,或者只是将其完全分开(类似于说,facebook 如何为页面与其注册的帐户创建单独的“身份”)。

希望有帮助!

于 2013-03-23T12:37:47.757 回答