在这种情况下,让我更具体地解决问题
我有一个人员表(有客户和供应商),我有一个用户表(对于可以登录的用户)。
目前我有这个数据库结构
客户 - >组织 - >通过rel_customer_addresses链接到地址表。 (因为1个客户可以有delivery_address,发票地址等。)
用户 - >租户 - >通过rel_users_addresses链接到地址表 (因为1个用户可以拥有delivery_address,发票地址等。)
现在我已经在发票表customer_key中找到了。问题是当用户本人是客户并且发票来自他的一个客户时。如何指示我的网络应用程序查找用户而不是客户?
答案 0 :(得分: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
中的customer
授予特殊权限,或者只是将其完全分开(类似于facebook如何为页面与帐户创建单独的'身份'它已注册)。
希望有所帮助!