置顶随笔

[置顶]asp.net core系列 65 正反案例介绍SOLID原则

摘要: 一.概述 SOLID五大原则使我们能够管理解决大多数软件设计问题。由Robert C. Martin在20世纪90年代编写了这些原则。这些原则为我们提供了从紧耦合的代码和少量封装转变为适当松耦合和封装业务实际需求的结果方法。使用这些原则,我们可以构建一个具有整洁,可读且易于维护的代码应用程序。 SO阅读全文

posted @ 2019-05-24 09:43 花阴偷移 阅读(383) 评论(0) 编辑

[置顶]asp.net core系列 64 结合eShopOnWeb全面认识领域模型架构

摘要: 一.项目分析 在上篇中介绍了什么是"干净架构",DDD符合了这种干净架构的特点,重点描述了DDD架构遵循的依赖倒置原则,使软件达到了低藕合。eShopOnWeb项目是学习DDD领域模型架构的一个很好案例,本篇继续分析该项目各层的职责功能,主要掌握ApplicationCore领域层内部的术语、成员职阅读全文

posted @ 2019-05-16 11:12 花阴偷移 阅读(664) 评论(3) 编辑

[置顶]asp.net core系列 63 领域模型架构 eShopOnWeb项目分析 上

摘要: 一.概述 本篇继续探讨web应用架构,讲基于DDD风格下最初的领域模型架构,不同于DDD风格下CQRS架构,二者架构主要区别是领域层的变化。 架构的演变是从领域模型到CQRS, 一开始DDD是用领域模型的分层架构,用单一的领域模型处理业务逻辑的所有方法,特别是命令和查询,这可能导致复杂性直线上升,C阅读全文

posted @ 2019-05-13 13:45 花阴偷移 阅读(762) 评论(1) 编辑

[置顶]asp.net core系列 62 CQRS架构下Equinox开源项目分析

摘要: 一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目。该项目在github上star占有2.4k。便决定分析Equinox项目来学习下CQRS架构。再讲CQRS架构时,先简述下DDD风格,在DDD分层架构中,一般包含表现层、应用程序层(应用服务层)、领域层(领域服务层)、基础设施层阅读全文

posted @ 2019-05-07 11:09 花阴偷移 阅读(1883) 评论(21) 编辑

[置顶]asp.net core系列 61 Ocelot 构建服务发现简单示例

摘要: 一.概述 Ocelot允许指定服务发现提供程序,如Consul或Eureka。 这二个中间件是用来实现:服务治理或秒服务发现,服务发现查找Ocelot正在转发请求的下游服务的主机和端口。目前Ocelot仅在GlobalConfiguration部分支持配置服务发现功能,这意味着相同的服务发现提供程序阅读全文

posted @ 2019-04-28 16:31 花阴偷移 阅读(428) 评论(2) 编辑

[置顶]asp.net core系列 60 Ocelot 构建服务认证示例

摘要: 一.概述 在Ocelot中,为了保护下游api资源,用户访问时需要进行认证鉴权,这需要在Ocelot 网关中添加认证服务。添加认证后,ReRoutes路由会进行身份验证,并使用Ocelot的基于声明的功能。在Startup.cs中注册认证服务,为每个注册提供一个方案 (authenticationP阅读全文

posted @ 2019-04-25 15:06 花阴偷移 阅读(398) 评论(0) 编辑

[置顶]asp.net core系列 59 Ocelot 构建基础项目示例

摘要: 一.入门概述 从这篇开始探讨Ocelot,Ocelot是一个.NET API网关,仅适用于.NET Core,用于.NET面向微服务/服务的架构中。当客户端(web站点、ios、 app 等)访问web api时,需要先统一入口点进入Ocelot网关(Ocelot可以做很多事情例如路由,身份验证,服阅读全文

posted @ 2019-04-23 14:55 花阴偷移 阅读(615) 评论(5) 编辑

[置顶]asp.net core系列 58 IS4 基于浏览器的JavaScript客户端应用程序

摘要: 一. 概述 本篇探讨使用"基于浏览器的JavaScript客户端应用程序"。与上篇实现功能一样,只不过这篇使用JavaScript作为客户端程序,而非core mvc的后台代码HttpClient实现。 功能一样:用户首先要登录IdentityServer站点,再使用IdentityServer发出阅读全文

posted @ 2019-04-19 14:17 花阴偷移 阅读(331) 评论(3) 编辑

[置顶]asp.net core系列 57 IS4 使用混合流(OIDC+OAuth2.0)添加API访问

摘要: 一.概述 在上篇中,探讨了交互式用户身份验证,使用的是OIDC协议。 在之前篇中对API访问使用的是OAuth2.0协议。这篇把这两个部分放在一起,OpenID Connect和OAuth 2.0组合的优点在于:可以使用单个协议和令牌服务,进行单次交换来实现这两者。 上篇中使用了OpenID Con阅读全文

posted @ 2019-04-18 14:49 花阴偷移 阅读(393) 评论(0) 编辑

[置顶]asp.net core系列 56 IS4使用OpenID Connect添加用户认证

摘要: 一.概述 在前二篇中讲到了客户端授权的二种方式: GrantTypes.ClientCredentials凭据授权和GrantTypes.ResourceOwnerPassword密码授权,都是OAuth2.0协议。本篇使用OpenID Connect添加用户认证,客户端授权是GrantTypes.阅读全文

posted @ 2019-04-17 14:53 花阴偷移 阅读(353) 评论(0) 编辑

[置顶]asp.net core系列 55 IS4使用Identity密码保护API

摘要: 一.概述 OAuth 2.0资源(web api)所有者密码授权,允许客户端(Client项目)向令牌服务(IdentityServer项目)发送用户名和密码,并获取代表该用户的访问令牌。在官方文档中讲到:规范通常建议不要使用“资源所有者密码授权”。当用户进行身份验证并请求访问令牌时,使用一个交互式阅读全文

posted @ 2019-04-15 10:25 花阴偷移 阅读(406) 评论(3) 编辑

[置顶]asp.net core系列 54 IS4用客户端凭据保护API

摘要: 一. 概述 本篇开始进入IS4实战学习,从第一个示例开始,该示例是 “使用客户端凭据保护API”,这是使用IdentityServer保护api的最基本场景。该示例涉及到三个项目包括:IdentityServer项目、API项目、Client项目,都有自己的宿主,为了方便开发,放在了一个解决方案下(阅读全文

posted @ 2019-04-12 09:22 花阴偷移 阅读(491) 评论(5) 编辑

[置顶]asp.net core系列 53 IdentityServer4 (IS4)介绍

摘要: 一.概述 在物理层之间相互通信必须保护资源,需要实现身份验证和授权,通常针对同一个用户存储。对于资源安全设计包括二个部分,一个是认证,一个是API访问。 1 认证 认证是指:应用程序需要知道当前用户的身份时,需要进行身份验证,确定用户是否有效。最常见的身份验证协议是SAML2p,WS-Federat阅读全文

posted @ 2019-04-11 09:05 花阴偷移 阅读(458) 评论(1) 编辑

[置顶]asp.net core系列 52 Identity 其它关注点

摘要: 一.登录分析 在使用identity身份验证登录时,在login中调用的方法是: 跟踪查看源码,源码下载https://github.com/aspnet/AspNetCore/releases 这里有core源码的不同版本,在vs 2017下只能加载2.2及以下的版本。 下面是登录的大概步骤: (阅读全文

posted @ 2019-04-10 09:58 花阴偷移 阅读(146) 评论(0) 编辑

[置顶]asp.net core系列 51 Identity 授权(下)

摘要: 1.6 基于资源的授权 前面二篇中,熟悉了五种授权方式(对于上篇讲的策略授权,还有IAuthorizationPolicyProvider的自定义授权策略提供程序没有讲,后面再补充)。本篇讲的授权方式不是一种全新的授权方式,而是授权应用场景的灵活控制。 基于资源的授权是控制在 razor pages阅读全文

posted @ 2019-04-09 12:03 花阴偷移 阅读(455) 评论(5) 编辑

[置顶]asp.net core系列 50 Identity 授权(中)

摘要: 1.5 基于策略的授权 在上篇中,已经讲到了授权访问(authorization)的四种方式。其中Razor Pages授权约定和简单授权二种方式更像是身份认证(authentication) ,因为只要是合法用户登录就能访问资源。 而角色授权和声明授权二种方式是真正的授权访问(authorizat阅读全文

posted @ 2019-04-08 10:42 花阴偷移 阅读(539) 评论(1) 编辑

[置顶]asp.net core系列 49 Identity 授权(上)

摘要: 一.概述 授权是指用户能够访问资源的权限,如页面数据的查看、编辑、新增、删除、导出、下载等权限。ASP.NET Core 授权提供了多种且灵活的方式,包括:Razor pages授权约定、简单授权、Role角色授权、Claim声明授权、Policy策略授权、资源授权、视图授权。 1.1 Razor 阅读全文

posted @ 2019-04-03 11:44 花阴偷移 阅读(528) 评论(1) 编辑

[置顶]asp.net core系列 48 Identity 身份模型自定义

摘要: 一.概述 ASP.NET Core Identity提供了一个框架,用于管理和存储在 ASP.NET Core 应用中的用户帐户。 Identity添加到项目时单个用户帐户选择作为身份验证机制。 默认情况下,Identity可以使用的 Entity Framework (EF) Core 数据模型。阅读全文

posted @ 2019-03-25 15:51 花阴偷移 阅读(660) 评论(1) 编辑

[置顶]asp.net core系列 47 Identity 自定义用户数据

摘要: 一.概述 接着上篇的WebAppIdentityDemo项目,将自定义用户数据添加到Identity DB,自定义扩展的用户数据类应继承IdentityUser类, 文件名为Areas / Identity / Data / {项目名称}User.cs。自定义的用户数据模型属性需要使用[Person阅读全文

posted @ 2019-03-22 16:24 花阴偷移 阅读(596) 评论(0) 编辑

[置顶]asp.net core系列 46 Identity介绍

摘要: 一. Identity 介绍 ASP.NET Core Identity是一个会员系统,可为ASP.NET Core应用程序添加登录功能。可以使用SQL Server数据库配置身份以存储用户名,密码和配置文件数据。或者,可以使用另一个持久性存储,例如,Azure表存储。下面学习如何使用Identit阅读全文

posted @ 2019-03-21 17:00 花阴偷移 阅读(708) 评论(0) 编辑

2019年5月24日

asp.net core系列 65 正反案例介绍SOLID原则

摘要: 一.概述 SOLID五大原则使我们能够管理解决大多数软件设计问题。由Robert C. Martin在20世纪90年代编写了这些原则。这些原则为我们提供了从紧耦合的代码和少量封装转变为适当松耦合和封装业务实际需求的结果方法。使用这些原则,我们可以构建一个具有整洁,可读且易于维护的代码应用程序。 SO阅读全文

posted @ 2019-05-24 09:43 花阴偷移 阅读(383) 评论(0) 编辑

2019年5月16日

asp.net core系列 64 结合eShopOnWeb全面认识领域模型架构

摘要: 一.项目分析 在上篇中介绍了什么是"干净架构",DDD符合了这种干净架构的特点,重点描述了DDD架构遵循的依赖倒置原则,使软件达到了低藕合。eShopOnWeb项目是学习DDD领域模型架构的一个很好案例,本篇继续分析该项目各层的职责功能,主要掌握ApplicationCore领域层内部的术语、成员职阅读全文

posted @ 2019-05-16 11:12 花阴偷移 阅读(664) 评论(3) 编辑

2019年5月13日

asp.net core系列 63 领域模型架构 eShopOnWeb项目分析 上

摘要: 一.概述 本篇继续探讨web应用架构,讲基于DDD风格下最初的领域模型架构,不同于DDD风格下CQRS架构,二者架构主要区别是领域层的变化。 架构的演变是从领域模型到CQRS, 一开始DDD是用领域模型的分层架构,用单一的领域模型处理业务逻辑的所有方法,特别是命令和查询,这可能导致复杂性直线上升,C阅读全文

posted @ 2019-05-13 13:45 花阴偷移 阅读(762) 评论(1) 编辑

2019年5月7日

asp.net core系列 62 CQRS架构下Equinox开源项目分析

摘要: 一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目。该项目在github上star占有2.4k。便决定分析Equinox项目来学习下CQRS架构。再讲CQRS架构时,先简述下DDD风格,在DDD分层架构中,一般包含表现层、应用程序层(应用服务层)、领域层(领域服务层)、基础设施层阅读全文

posted @ 2019-05-07 11:09 花阴偷移 阅读(1883) 评论(21) 编辑

2019年4月28日

asp.net core系列 61 Ocelot 构建服务发现简单示例

摘要: 一.概述 Ocelot允许指定服务发现提供程序,如Consul或Eureka。 这二个中间件是用来实现:服务治理或秒服务发现,服务发现查找Ocelot正在转发请求的下游服务的主机和端口。目前Ocelot仅在GlobalConfiguration部分支持配置服务发现功能,这意味着相同的服务发现提供程序阅读全文

posted @ 2019-04-28 16:31 花阴偷移 阅读(428) 评论(2) 编辑

2019年4月25日

asp.net core系列 60 Ocelot 构建服务认证示例

摘要: 一.概述 在Ocelot中,为了保护下游api资源,用户访问时需要进行认证鉴权,这需要在Ocelot 网关中添加认证服务。添加认证后,ReRoutes路由会进行身份验证,并使用Ocelot的基于声明的功能。在Startup.cs中注册认证服务,为每个注册提供一个方案 (authenticationP阅读全文

posted @ 2019-04-25 15:06 花阴偷移 阅读(398) 评论(0) 编辑

2019年4月23日

asp.net core系列 59 Ocelot 构建基础项目示例

摘要: 一.入门概述 从这篇开始探讨Ocelot,Ocelot是一个.NET API网关,仅适用于.NET Core,用于.NET面向微服务/服务的架构中。当客户端(web站点、ios、 app 等)访问web api时,需要先统一入口点进入Ocelot网关(Ocelot可以做很多事情例如路由,身份验证,服阅读全文

posted @ 2019-04-23 14:55 花阴偷移 阅读(615) 评论(5) 编辑

2019年4月19日

asp.net core系列 58 IS4 基于浏览器的JavaScript客户端应用程序

摘要: 一. 概述 本篇探讨使用"基于浏览器的JavaScript客户端应用程序"。与上篇实现功能一样,只不过这篇使用JavaScript作为客户端程序,而非core mvc的后台代码HttpClient实现。 功能一样:用户首先要登录IdentityServer站点,再使用IdentityServer发出阅读全文

posted @ 2019-04-19 14:17 花阴偷移 阅读(331) 评论(3) 编辑

2019年4月18日

asp.net core系列 57 IS4 使用混合流(OIDC+OAuth2.0)添加API访问

摘要: 一.概述 在上篇中,探讨了交互式用户身份验证,使用的是OIDC协议。 在之前篇中对API访问使用的是OAuth2.0协议。这篇把这两个部分放在一起,OpenID Connect和OAuth 2.0组合的优点在于:可以使用单个协议和令牌服务,进行单次交换来实现这两者。 上篇中使用了OpenID Con阅读全文

posted @ 2019-04-18 14:49 花阴偷移 阅读(393) 评论(0) 编辑

2019年4月17日

asp.net core系列 56 IS4使用OpenID Connect添加用户认证

摘要: 一.概述 在前二篇中讲到了客户端授权的二种方式: GrantTypes.ClientCredentials凭据授权和GrantTypes.ResourceOwnerPassword密码授权,都是OAuth2.0协议。本篇使用OpenID Connect添加用户认证,客户端授权是GrantTypes.阅读全文

posted @ 2019-04-17 14:53 花阴偷移 阅读(353) 评论(0) 编辑

导航

公告