asp.net identity的学习记录
生活随笔
收集整理的這篇文章主要介紹了
asp.net identity的学习记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# identity數據庫 ## 創建空數據庫 交給ef管理 ### 添加asp.net identity包 ``` Install-Package Microsoft.AspNet.Identity.EntityFramework Install-Package Microsoft.AspNet.Identity.OWIN Install-Package Microsoft.Owin.Host.SystemWeb ``` ## 創建owin startup類 在app_start目錄創建新類 IdentityConfig ## 在web.config中添加配置信息 數據庫連接字符串。。。。 --------------------------- ## owin配置信息 ``` ``` ## 創建User類 => 代表用戶 繼承自 `Microsoft.AspNet.Identity.EntityFramework`命名空間下的`IdentityUser` `IdentityUser`提供了基本的用戶信息,如`email passwordhash Username phonenumber roles`等 我們也可以在其派生類中添加額外的信息 ``` class AppUser:IdentitUser ``` ## 創建Database Context類 =>使用ef code first開管理數據庫 ASP.Net Identity將使用Code First來創建和管理數據庫架構 Database Context必須繼承自IdentityDbContext,而且T為User類(或者其派生來 這里為AppUser) ``` class AppIdentityDbContext:IdentityDbContext { public AppIdentityDbContext() :base("連接字符串key") { } //靜態函數只執行一次,這里使用下面創建的初始化類來初始化數據庫 static AppIdentityDbContext() { Database.SetInitializer(new IdentityDbInit()): } //創建Database Context實例 每次調用返回一個實例 public static AppIdentityDbContext Create() { return new AppOdentityDbContext(); } } ``` ### 同時可以創建數據庫初始化類 這里命名為IdentityDbInit (繼承自DropCreateDatabaseIfModelChanges這里的泛型T指的是需要初始化的DbContext) ``` class IdentityDbInit:DropCreateDatabaseIfModelChanges { protected override void Seed(AppIdentityDbContext context) { PerformInitialSetup(context) base.Seed(context) } private void PerformInitialSetup(AppIdentityDbContext context) { //進行初始化操作 } } ``` ## 創建User Manger類 User Manager類作為ASP.NET Identity中最為重要的類之一,用來管理User,它提供了創建和操作用戶的一些基本方法,并且全面支持C#異步編程, 值得注意的是,它并不通過Entity Framework來直接操作用戶,而是間接的調用UserStore來實現。 UserStore 是Entity Framework類實現了IUserStore接口并且實現了定義在UserManger中操作用戶的方法
轉載于:https://www.cnblogs.com/daoyi/p/aspnet-identity-de-xue-xi-ji-lu.html
總結
以上是生活随笔為你收集整理的asp.net identity的学习记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个产品经理的自述:我在腾讯工作的这一年
- 下一篇: [转载][工具]Secure CRT 自