2016-07-04 84 views
-1

我有一個現有的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個不同賬戶的詳細信息,所有賬戶都有不同的歷史細節等等。但是要確保「賬戶」的定義與登錄無關定義(如電子郵件地址,如果您將其用作登錄的一部分,則不能成爲帳戶詳細信息的一部分,因爲將電子郵件地址作爲「帳戶」詳細信息的一部分意味着其他帳戶綁定到相同的登錄可以有不同的電子郵件 –

回答

2

我在我正在處理的應用程序中有類似的情況,並且,這是可能的。你真正做到這一點將取決於你的數據庫層。

我建議您將用戶和帳戶模型分開(如果尚未完成),以便在數據庫中映射。在我的情況下,我爲每個帳戶創建一個GUID,並將用戶與這些帳戶關聯起來,帳戶的所有者在其中認爲適合特定用戶的權限。

據我調查,如果它做得好,它不應該產生任何安全問題。但是,該問題更適合於Information Security