关于Identity和IdentityServer初学的时候可能会有一些疑惑(虽然我也不是很精深吧),但是,这里说一下自己关于这两者的一些理解,如有错误,欢迎指正

总体上,

  • ASP.NET Core Identity提供了一个用来管理和存储用户账户的框架.
  • IdentityServer是一个中间件,它可以添加符合OpenID Connect和OAuth2.0的终端(endpoints)到一个任意的ASP.NET Core应用.

关于Identity

ASP.NET Core Identity 是用来在ASP.NET Core 应用中增加登录功能的。用户可以使用存储在Identity中的登录信息创建一个账户,或者他们可以使用第三方登录,支持的一些第三方登录:Facebook,Google,Microsoft Account,Twitter。当然,你可以集成一些国内的,QQ等

Identity可以被配置为使用SQL Server数据库存储用户名,密码,和其他信息。当然,你也可以使用另一个持久化存储,例如Azure Table Storage

ASP.NET Core Identity提供了一个用来管理和存储用户账户的框架,在ASP.NET Core应用中。当你在创建项目时,身份验证选择的是Individual User Accounts(个人用户账户),Identity被添加到了你的项目中。Identity默认使用的是Entity Framework Core 数据模型。

关于这个,可以看下这个

关于IdentityServer

下面的表,包含了一些开源的关于认证(authentication)的提供者,其中就包含IdentityServer

上面关于认证的一些开源项目各有特点

下面简单说下IdentityServer

IdentityServer是用来帮助公司使用.net建立Identity(标识,注意这里不是上面说的ASP.NET Core Identity框架,而是表示一种标识,即识别用户的), 和access control(权限控制)的, 包括单点登录(single sign-on),Identity 管理,授权(authorization)和api 安全. 基于成功的开源项目例如IdentityServer, 可以提供了设计方案的灵活性来满足你的要求.

IdentityServer是一个中间件,它可以添加符合OpenID Connect和OAuth2.0的终端(endpoints)到一个任意的ASP.NET Core应用.

典型的,你建立一个应用,这个应用包含一个登录和登出页面,并且IdentityServer中间件添加必要的协议到应用中,以便客户端应用可以使用这些标准的协议和这个协议交流。

参考资料:

https://identityserver4.readthedocs.io/en/latest/index.html

https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.2

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/community?view=aspnetcore-2.2

https://identityserver.io/

最新文章

  1. Spring学习笔记之五----Spring MVC
  2. C#项目中常用到的设计模式
  3. Java对数组对象进行排序
  4. RMAN增量备份-备份保留策略-设置备份集属性
  5. poj 1573 Robot Motion_模拟
  6. C#经典之Application.DoEvents()的使用
  7. Android布局优化之层级优化
  8. UI篇之——用户体验
  9. BZOJ 1434: [ZJOI2009]染色游戏
  10. JavaScript:方法&对象大全
  11. java中的值传递和引用传递有什么区别呀?
  12. Linux内核入门到放弃-内存管理-《深入Linux内核架构》笔记
  13. 关于 DELPHI DATASNAP 的文章集
  14. wordclock中文模式快一个小时怎么调整
  15. Windows云服务器购买
  16. .Net Core缓存组件(MemoryCache)源码解析
  17. php一句话木马
  18. 扩展EF的Fluent API中的 OnModelCreating方法 实现全局数据过滤器
  19. 使用STM32的USART的同步模式Synchronous调戏SPI[2] 【实现spi 9bit】
  20. 详解php多人开发环境原理

热门文章

  1. Django框架(十四)-- forms组件、局部钩子、全局钩子
  2. python之线程和进程(并发编程)
  3. ubuntu 18.04 设置静态ip方法
  4. python脚本测试websocket接口协议
  5. Eslint 允许使用双等号
  6. 201800624模拟赛T2——回家路上
  7. 【oracle】drop,truncate,delete用法
  8. mysql 包含查找
  9. 根据 oracle 标准计算超长字符串的长度
  10. 认识随机函数rand()和srand(unsigned int )