我的應用程序設計和MVC會員資格有一個小問題。ASP.NET MVC會員資格
在我的網站我有3個表格:用戶,客戶和作者,他們都沒有相互關聯,但他們每個都連接到一堆其他表,所以我不能將它們合併成一個大用戶表。
我不知道如何實現所有的會員資格,授權的東西,因爲我有三個登錄表單,每個DB實體和調用User.Identity.IsAuthenticated時,我將無法辨別誰是登錄。
任何想法?
我的應用程序設計和MVC會員資格有一個小問題。ASP.NET MVC會員資格
在我的網站我有3個表格:用戶,客戶和作者,他們都沒有相互關聯,但他們每個都連接到一堆其他表,所以我不能將它們合併成一個大用戶表。
我不知道如何實現所有的會員資格,授權的東西,因爲我有三個登錄表單,每個DB實體和調用User.Identity.IsAuthenticated時,我將無法辨別誰是登錄。
任何想法?
我的建議是你移動到一個用戶表。只需在用戶表中添加一個字段,以決定用戶的類型(客戶,作者等)。無需將所有表格合併爲一個。
聽起來就像基於角色的授權,如果您使用內置的ASP.NET Membership Provider,它非常簡單。
爲用戶,客戶,作者創建角色。
然後,你可以這樣做:
if (User.Identity.IsAuthenticated)
{
if (User.IsUserInRole("Customer")
...
else if (User.IsUserInRole("Author")
...
}
Here's一個簡要概述的文章。
雖然這樣說,重新認爲你的設計有這3張桌子。
你可以很容易地與所有的用戶有一張桌子。此表不需要關心每個記錄是「什麼類型的用戶」,這是由ASP.NET成員資格提供程序處理的。