我正在建立一个基本的社交网络,并希望根据用户的电子邮件地址划分网站的内容。整个网站的所有功能都是相同的,只有内容会有所不同。
例如,如果用户使用@ berkeley.edu电子邮件地址注册,则他们只能与其他@ berkeley.edu用户进行交流,评论和查看等。拥有@ uoregon.edu电子邮件地址的用户只能与其他@ uoregon.edu用户进行交流,评论和查看等。
实现这一目标的好方法是什么?
答案 0 :(得分:1)
您可以多租户系统键入电子邮件域 - 然后所有查询都将从该租户密钥开始运行。
例如......
租户表
id,domain(1,'berkeley.edu')
id,domain(2,'uoregon.edu')
用户表
id,tenantId,email(1,1,'steve @ berkeley.edu')
id,tenantId,email(2,1,'fenton@berkeley.edu')
id,tenantId,email(3,2,'steve@uoregon.edu')
每当您运行查询时,都包括:
WHERE tenantId = 1
仅显示伯克利的用户,内容,消息,图片等。