2010-09-22 68 views
0

我的應用程序設計和MVC會員資格有一個小問題。ASP.NET MVC會員資格

在我的網站我有3個表格:用戶,客戶和作者,他們都沒有相互關聯,但他們每個都連接到一堆其他表,所以我不能將它們合併成一個大用戶表。

我不知道如何實現所有的會員資格,授權的東西,因爲我有三個登錄表單,每個DB實體和調用User.Identity.IsAuthenticated時,我將無法辨別誰是登錄。

任何想法?

回答

0

我的建議是你移動到一個用戶表。只需在用戶表中添加一個字段,以決定用戶的類型(客戶,作者等)。無需將所有表格合併爲一個。

2

聽起來就像基於角色的授權,如果您使用內置的ASP.NET Membership Provider,它非常簡單。

爲用戶,客戶,作者創建角色。

然後,你可以這樣做:

if (User.Identity.IsAuthenticated) 
{ 
    if (User.IsUserInRole("Customer") 
     ... 
    else if (User.IsUserInRole("Author") 
     ... 
} 

Here's一個簡要概述的文章。

雖然這樣說,重新認爲你的設計有這3張桌子。

你可以很容易地與所有的用戶有一張桌子。此表不需要關心每個記錄是「什麼類型的用戶」,這是由ASP.NET成員資格提供程序處理的。