Asp.Net身份 - 多个帐户

问题描述:

我有一个现有的ASP.NET MVC应用程序使用ASP.NET身份与OWIN OAuth 2身份验证服务器。Asp.Net身份 - 多个帐户

我的应用程序安全层是开箱即用的,除了一些自定义声明被添加和业务定义角色。

我的问题: 我被分配到修改我们的登录处理的情况下,其中1个登录可能被关联到1个或* accoutns任务。

所以现在我们处理:

登录|账户

1至1

* 1

我们要添加:

1 *

我想我的问题是,这甚至可能吗?这是否会造成任何重大的安全问题?

我还没有发现很多文档支持这个,任何输入都会很好。

+0

您是否希望将登录详细信息与帐户将使用的实际帐户详细信息或服务相关联?如果是实际账户,相关账户是否也会保留其登录信息? (所以我们假设登录L与A和B相关联。是否会有(只能有B)与L相关的L') –

+0

需要在帐户详细信息之间建立关联。我不相信会有这样的情况,L只会与B关联 – Mark

+1

这是可能的,但是由于没有看到细节,很难说出关于设计的任何内容。想象一下我们的银行细节,我们只有一个登录细节,但我们可以跟踪N个不同账户的详细信息,所有账户都有不同的历史细节等等。但是要确保“账户”的定义与登录无关定义(如电子邮件地址,如果您将其用作登录的一部分,则不能成为帐户详细信息的一部分,因为将电子邮件地址作为“帐户”详细信息的一部分意味着其他帐户绑定到相同的登录可以有不同的电子邮件 –

我在我正在处理的应用程序中有类似的情况,并且,这是可能的。你真正做到这一点将取决于你的数据库层。

我建议您将用户和帐户模型分开(如果尚未完成),以便在数据库中映射。在我的情况下,我为每个帐户创建一个GUID,并将用户与这些帐户关联起来,帐户的所有者在其中认为适合特定用户的权限。

据我调查,如果它做得好,它不应该产生任何安全问题。但是,该问题更适合于Information Security