您可以爲所有用戶使用默認用戶表,因爲您具有區分它們的角色。爲管理員角色中的用戶創建另一個表將只添加幾乎相同的表來維護。
如果您想使用自己的數據庫上下文,可以從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
哇..謝謝你這麼多。它真的幫助我理解:) –