使用Codeigniter和Aauth库管理saas帐户和身份验证(用户可以访问多个帐户)

时间:2020-02-08 20:00:51

标签: php codeigniter account saas

在这里

我正在构建一个小型的saas产品,并在系统中使用了几个库。

图书馆
Aauth(用于身份验证)

当用户在应用程序中注册时,将使用使用的电子邮件地址和提供的凭据为他/她生成一个新帐户。系统将开设一个帐户并生成新的身份验证帐户(用户名和密码)。

没有问题。

我的问题的摘要如下:

假设有一个帐户A和B属于两个不同的客户,并且帐户A有3个用户,帐户B有2个用户。 Aauth库支持唯一的电子邮件地址作为登录名。

如何允许帐户A中的用户在帐户B中进行注册而没有问题。

我需要从体系结构的角度来回答。你会怎么做?

我认为的解决方案

在用户表中添加新列(将不起作用,Aauth使用电子邮件作为唯一标识符,如果我要实现此功能,则需要大量源代码修改)。

将身份验证库更改为Ion_auth。它的修改更简单,功能更少,但仍包含组。

为每个新帐户创建一个新的系统副本(只是在更新或发现问题时不可行)

为每个帐户创建一个新的数据库(与上面相同)

使用更简单的概念构建我自己的身份验证库,如下所示:

DB Schema 
tbl_Accounts
id
name

tblt_users
id
email
password
account_id

tbl_groups
id
group_name

此解决方案的问题是解决了架构的复杂性,但不能解决用户可以注册到其他帐户的问题。请提出一个更好的方案来满足我的要求。

注释

这个post给了我一些设计方面的考虑。

如果我的解释不力或需要进一步编辑,请评论我很高兴进一步阐述或增强文字,谢谢

0 个答案:

没有答案