如何实现基于电子邮件地址隔离的“社交网络”?

时间:2012-11-12 20:28:56

标签: ruby-on-rails ruby-on-rails-3

我正在建立一个基本的社交网络,并希望根据用户的电子邮件地址划分网站的内容。整个网站的所有功能都是相同的,只有内容会有所不同。

例如,如果用户使用@ berkeley.edu电子邮件地址注册,则他们只能与其他@ berkeley.edu用户进行交流,评论和查看等。拥有@ uoregon.edu电子邮件地址的用户只能与其他@ uoregon.edu用户进行交流,评论和查看等。

实现这一目标的好方法是什么?

1 个答案:

答案 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

仅显示伯克利的用户,内容,消息,图片等。