0

我很困惑創建註冊表單。我正在建立購物車網站,我希望用戶在我的網站上註冊。爲此,我在我的數據庫中有用戶表,也是一個管理表。當我使用內置的mvc模板創建新項目時,它提供了控制器(這真的很棒)使用自己的數據庫。創建註冊表單和角色asp mvc身份證

1)我想將註冊的用戶信息存儲在我的數據庫中,並且也不使用缺省數據庫上下文登錄它們 2)我現在有2個表(用戶,管理員)如何在兩個表上使用角色管理器?我應該把管理員的表格ID放在自動創建的表格(aspnetroles,aspnetcalims,aspnetuserroles)中嗎?還是我應該只製作一個名稱爲USERS的表格並管理角色?

對不起,我的英語。

回答

1

您可以爲所有用戶使用默認用戶表,因爲您具有區分它們的角色。爲管理員角色中的用戶創建另一個表將只添加幾乎相同的表來維護。

如果您想使用自己的數據庫上下文,可以從IdentityDbContext<TUser>IdentityDbContext<TUser, TRole, TKey, TUserLogin, TUserRole, TUserClaim>而不是DbContext中派生出來,然後將其用於標識。

您可以通過擴展它的實體類(如IdentityUser)來進一步自定義ASP.NET Identity模式。

class MyUser : IdentityUser 
{ 
    public string MyColumn { get; set; } 
} 

更多的控制,可以延長IdentityUser<TKey, TLogin, TRole, TClaim>指定類型不是字符串鍵(唯一標識符),爲角色自定義實體等

可以與默認標識實體映射到一個自定義的表任何使用Fluent API的其他EF實體都會覆蓋您的數據庫上下文的OnModelCreating並使用DbModelBuilder

例如

modelBuilder.Entity<ApplicationUser>().ToTable("MyUsers"); 

ASP.NET身份是非常可定製的。如果您熟悉實體框架,則不應該對其進行擴展。

一些基本的例子: http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx

+0

哇..謝謝你這麼多。它真的幫助我理解:) –