2013-04-23 82 views
0

我必須編輯ASP提供的登錄/註冊,以包含保存到數據庫的自定義dropdown(「BranchID」)菜單,以便每個用戶都有自己的分支。我正在使用ASP會員系統,當然它會保存到它創建的數據庫ASPNETMDF。谷歌搜索網上有一些結果,但我很困惑。我知道有「用戶配置文件」,我可以保存這個配置文件數據,但我不太確定的是,如果它是一個臨時措施,或者它是否記錄到數據庫。ASP.Net中的自定義字段登錄/註冊?

我可以製作我自己的自定義會員系統,使用它構建它並調整它或使用用戶配置文件。什麼是最佳行動方案?我非常喜歡修改/編輯內置的會員制系統,並添加我需要的數據,但我仍然沒有明確的答案,我應該做什麼或什麼是最好的。

回答

1

你有兩個選擇:

  1. 創建CustomMembershipProvider,如果你需要一個CustomRoleProvider,你可以通過實現.NET的MembershipProvider做到這一點。示例:http://www.codeproject.com/Articles/165159/Custom-Membership-Providers

  2. 創建一個單獨的表,用於存儲其他用戶信息,即「BranchID」,並添加表和.NET的成員之間的one-to-one關係

這真的取決於你哪一個你選。

+0

非常感謝鏈接。現在讀入他們:) – 2013-04-23 16:20:57

0

MembershipProvider非常容易擴展。假設分支是他們必須選擇進行認證的東西?你應該能夠延長身份驗證做類似的事情:

public class MyCustomMembershipProvider : MembershipProvider 
{ 
/* 
.... 
*/ 
    public bool ValidateUser(string username, string password, string branch) 
    { 
     return (::ValidateUser(username, password) && MyCustomRoutine(username, branch)); 
    } 

} 
+0

這個改變會被記錄在數據庫中嗎? AKA ...永久?我需要確定用戶屬於哪個分支,以便我只能顯示特定於該分支的某些信息。 – 2013-04-23 16:20:10

+0

基於這個評論它聽起來像你實際上把分支當作一個角色,然後用這個角色來驅動動作過濾器。你可能也想看看動作過濾器。 – SOfanatic 2013-04-23 16:24:23

+0

我已經看過角色,並且實際上和他們一起玩過。然後將查看動作過濾器! – 2013-04-23 16:27:07