asp.net identity的学习记录

2018-06-22 07:47:12来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

# 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中操作用户的方法

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用swagger实现web api在线接口文档

下一篇:SQL Server和ASP.NET的操作基本操作