2016-10-11 120 views
0

注意:我昨天发布了相同的问题,但具有不同的解释,现在我正在编辑它并尝试从不同的解释中解释我的观点方面。如何验证多租户网站中的用户,当每个租户在laravel中有多个用户时

我试图实现多租户网站的认证过程,我们将有不同的公司注册例如:公司1,公司2等,每个公司将有多个用户,如公司1将有User1,用户2等等。

在这里,由于一些强烈的原因,我为每家公司使用单独的数据库。我希望用户访问该网站,只需要验证自己而不使用任何单独的域。每个公司会有不同的域名(例如company1.mysite.com),但是用户在登录后将被重定向到他的域名。

所以,我的问题是,如何在登录时从他各自的数据库验证每个用户?

谢谢

回答

0

在这一天结束时,你根本无法ping通所有的DB获取用户和希望的匹配。然而,我会推荐以下内容:

保存用户及其各自公司数据库的特殊映射数据库。为了增加安全性,您可以将电子邮件视为密码,将加密版本存储为预定义的salt,并在用户输入电子邮件进行登录时,使用两个加密的电子邮件地址对映射DB进行查找。你需要小心保持这个数据库同步。如果你的数据库在同一台服务器上,我可能会建议插入和更新触发器。

在成功验证其公司数据库的过程中,您希望将数据库名称存储在用户会话中,以防止对映射数据库进行持续查找。成功验证后,您可以使用子域映射到数据库。