博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net identity的学习记录
阅读量:6441 次
发布时间:2019-06-23

本文共 1713 字,大约阅读时间需要 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中操作用户的方法

转载于:https://www.cnblogs.com/daoyi/p/aspnet-identity-de-xue-xi-ji-lu.html

你可能感兴趣的文章
逆向project实战--Acid burn
查看>>
Apache Solr-6.0.1 (OpenLogic CentOS 7.2)
查看>>
java中List和Array相互转换
查看>>
目前支持WebGL的浏览器有哪些?
查看>>
ARKit从入门到精通(1)-ARKit初体验
查看>>
debug
查看>>
配置文件git config介绍
查看>>
IIS7的应用程序池详细解析
查看>>
java类路径classpath和包
查看>>
Information Retrieval 倒排索引 学习笔记
查看>>
【Git】Git-add之后-忽略部分文件的方法
查看>>
JQuery使用trigger模拟触发selete的选择change事件
查看>>
连表更新数据
查看>>
tensorflow笔记1:基础函数、embedding_lookup
查看>>
如何用phpmyadmin导入大容量.sql文件,直接使用cmd命令进行导入
查看>>
BZOJ4133 : Answer的排队
查看>>
基于Centos搭建 Mono 开发环境
查看>>
算法题:福尔摩斯的约会
查看>>
Oralce sql (+) 补充
查看>>
hdu 2665 划分树
查看>>