2012-09-24 26 views
0

我可以很容易地設置自定義會員資格,但是如果我需要兩套設置,即管理面板和註冊登錄的客戶,該怎麼辦。這意味着要從兩個分開的表中獲取用戶。我的問題是,如何將兩者通過1個自定義成員關係進行集成,以及如何在控制器上對2進行身份驗證?在ASP.NET中的2套自定義會員資格MVC

+1

在我看來,這似乎是兩個不同的角色不止兩個不同的成員。你不能簡單地使用管理員和客戶角色來區分用戶嗎? – Bardo

回答

1

您不會以這種方式分隔用戶,您會實施custom role provider並將這些角色分配給用戶。所以說,你已經創建了兩個角色管理用戶你的屬性設置爲您的控制器像這樣:

管理頁面控制器

[Authorize(Roles = "Admin")] 
public ActionResult AdminAction() { } 

用戶頁面控制器

[Authorize(Roles = "User")] 
public ActionResult UserAction() { } 

如果您希望管理員查看所有登錄的用戶頁面s,您只需將用戶角色分配給您的管理員即可。

+0

這是偉大的,我設想的,但我的頭腦是空白的如何定義角色,我不想創建一個角色表,如果可能的話想更改自定義成員資格的ValidateUser(),以檢查哪個表使用admin/user並在這裏手動設置角色,可能嗎? – user1166905

+1

@ user1166905你可以創建一個自定義的'MembershipUser'(http://stackoverflow.com/questions/912121/implementing-custom-membershipuser),並在你的'ValidateUser中設置一個'Roles'屬性(也許是逗號分隔的字符串) ()'方法基於它們來自哪裏。然後,您可以創建一個自定義屬性(http://www.codeproject.com/Articles/2933/Attributes-in-C),其中此屬性將角色名稱視爲字符串,然後查詢您的自定義用戶類以獲取相應角色。 –

+0

我會試試看,謝謝 – user1166905

相關問題