9 小高同学

尚未进行身份认证

我要认证

一个平凡不甘于平凡的人,渴望进步,渴望表现,渴望自我实现

等级
TA的排名 9w+

【asp.net core 系列】15 自定义Identity

0. 前言在之前的文章中简单介绍了一下asp.net core中的Identity,这篇文章将继续针对Identity进行进一步的展开。1. 给Identity添加额外的信息在《【asp.net core 系列】13 Identity 身份验证入门》一文中,我们大概了解了如何使用Identity,以及如何保存一些信息以便后续的验证。这里我们将深入讨论一下如何给Identity添加更多的信息。我们知道在给Identity添加数据的时候,需要添加一个Claim对象。我们先回顾一下Claim的信息,Cla

2020-07-09 08:24:17

【asp.net core 系列】14 .net core 中的IOC

0.前言通过前面几篇,我们了解到了如何实现项目的基本架构:数据源、路由设置、加密以及身份验证。那么在实现的时候,我们还会遇到这样的一个问题:当我们业务类和数据源越来越多的时候,我们无法通过普通的构造对象的方法为每个实例进行赋值。同时,传统意义上的赋值遇到底层切换或者其他修改的时候,就需要修改大量的代码,对改变不友好。为了改变这种现状,我们基于面向接口编程,然后使用一些DI功能和IOC框架。1. IOC和DI先来给大家解释几个概念,IOC全称Inversion of Control,翻译过来就是控制反

2020-06-28 08:52:23

【asp.net core 系列】13 Identity 身份验证入门

0. 前言通过前两篇我们实现了如何在Service层如何访问数据,以及如何运用简单的加密算法对数据加密。这一篇我们将探索如何实现asp.net core的身份验证。1. 身份验证asp.net core的身份验证有 JwtBearer和Cookie两种常见的模式,在这一篇我们将启用Cookie作为身份信息的保存。那么,我们如何启用呢?在Startup.cs 的ConfigureServices(IServiceCollection services) 方法里添加如下:services.AddAut

2020-06-23 23:06:56

【asp.net core 系列】12 数据加密算法

0. 前言这一篇我们将介绍一下.net core 的加密和解密。在Web应用程序中,用户的密码会使用MD5值作为密码数据存储起来。而在其他的情况下,也会使用加密和解密的功能。常见的加密算法分为对称加密和非对称加密。所谓的对称加密是指加密密钥和解密密钥是同一个,非对称加密是值加密密钥和解密迷药不同。而我们常应用在保存用户登录密码这个过程中的MD5本质上并不是加密算法,而是一种信息摘要算法。不过MD5尽量保证了每个字符串最后计算出来的值都不一样,所以在密码保存中常用MD5做为保密值。1. 常见对称加密算法

2020-06-22 22:45:16

【asp.net core 系列】- 11 Service层的实现样板

0.前言在《asp.net core 系列》之实战系列中,我们在之前的篇幅中对项目有了一个大概的认知,也搭建了一个基础的项目骨架。那么就让我们继续完善这个骨架,让它更加丰满。这一篇,我将带领小伙伴们一起实现用户管理功能。1. 数据表一般情况下,我们会把用户表和登录信息表放在两个表里。为什么会这样设计呢?出于以下几种考虑:使功能分割,用户信息管理是用户管理,登录是登录增加安全,降低无关信息的查询,例如访问登录接口不会连带检索用户的普通信息,当进行用户信息管理的时候,不会把登录信息也带过来等等

2020-06-21 18:08:17

【asp.net core 系列】10 实战之ActionFilter

0.前言在上一篇中,我们提到了如何创建一个UnitOfWork并通过ActionFilter设置启用。这一篇我们将简单介绍一下ActionFilter以及如何利用ActionFilter,顺便补齐一下上一篇的工具类。1. ActionFilter 介绍ActionFilter全称是ActionFilterAttribute,我们根据微软的命名规范可以看出这是一个特性类,看一下它的声明:[AttributeUsage(AttributeTargets.Class | AttributeTargets

2020-06-18 05:41:06

【asp.net core 系列】9 实战之 UnitOfWork以及自定义代码生成

0. 前言在前一篇中我们创建了一个基于EF的数据查询接口实现基类,这一篇我将带领大家讲一下为这EF补充一些功能,并且提供一个解决避免写大量配置类的方案。1. SaveChanges的外移在之前介绍EF Core的时候,我们提到过使用EF需要在每次使用之后,调用一次SaveChanges将数据提交给数据库。在实际开发中,我们不能添加一条数据或者做一次修改就调用一次SaveChanges,这完全不现实。因为每次调用SaveChanges是EF向数据库提交变更的时候,所以EF推荐的是每次执行完用户的请求之后

2020-06-15 05:38:21

【Java Spring Cloud 实战之路】- 4添加一个SpringBootAdmin监控

0. 前言在之前的几章中,我们先搭建了一个项目骨架,又搭建了一个使用nacos的gateway网关项目,网关项目中并没有配置太多的东西。现在我们就接着搭建在Spring Cloud 微服务中另一个重要的项目 - Spring boot admin.1. Spring Boot Admin 介绍Spring Boot Admin 用来监控基于Spring Boot的应用,在Spring Boot Actuator的基础上提供了简洁的可视化Web UI。Spring Boot Admin 提供了以下功

2020-06-11 09:43:24

【asp.net core 系列】8 实战之 利用 EF Core 完成数据操作层的实现

0. 前言通过前两篇,我们创建了一个项目,并规定了一个基本的数据层访问接口。这一篇,我们将以EF Core为例演示一下数据层访问接口如何实现,以及实现中需要注意的地方。1. 添加EF Core先在数据层实现层引入 EF Core:cd Domain.Implementsdotnet add package Microsoft.EntityFrameworkCore当前项目以SqlLite为例,所以再添加一个SqlLite数据库驱动:dotnet add package Microsoft.En

2020-06-09 22:20:17

【asp.net core】7 实战之 数据访问层定义

0. 前言在上一篇,我们搭建了一个项目框架,基本上是一个完整的项目。目前而言,大部分的应用基本都是这个结构。好的,不废话了,进入今天的议题:完成并实现数据层的基础实现。1. 数据实体通常情况下,一个项目的数据实体中字段并不是完全没有规律可寻。通常情况下,必须有一个主键。有些时候,会要求在数据表中增加上次修改时间和创建时间,以及创建人和修改人的主键。所以,我们可以创建一个泛型父类,来帮我们定义这些公共字段:using System;namespace Data.Infrastructure{

2020-06-07 16:51:44

【asp.net core 系列】6 实战之 一个项目的完整结构

0. 前言在《asp.net core 系列》之前的几篇文章中,我们简单了解了路由、控制器以及视图的关系以及静态资源的引入,让我们对于asp.net core mvc项目有了基本的认识。不过,这些并不是 asp.net core mvc项目的全部内容,剩下的内容我将结合实战项目为大家讲解其中的知识。现在,就让我们开始吧。1. 项目构建抛开之前的项目,现在跟着我重新创建一个项目,第一步依旧是先创建一个解决方案:dotnet new sln --name Template我先介绍一下这个项目(指整个项

2020-06-06 16:46:27

【asp.net core 系列】5 布局页和静态资源

0. 前言在之前的4篇的内容里,我们较为详细的介绍了路由以及控制器还有视图之间的关系。也就是说,系统如何从用户的HTTP请求解析到控制器里,然后在控制器里处理数据,并返回给视图,在视图中显示出来。这一篇我将为大家介绍基础的最后一部分,布局页和静态资源引入。1. 布局页在控制器和视图那一篇,我们了解到_ViewStart 里设置了一个Layout属性的值,这个值正是用来设置布局页的。所谓的布局页,就是视图的公用代码。在实际开发中,布局页通常存放我们为整个系统定义的页面框架,视图里写每个视图的页面。回顾

2020-06-05 14:26:03

【asp.net core 系列】4. 更高更强的路由

0. 前言在之前我们介绍了请求通过路由寻找到控制器,以及控制器与视图的数据流转。那么,我们回过头来,再看看路由的一些其他用法。1. 路由属性(Route Attribute)按照英文的直接翻译,Routing Attribute 的意思是路由属性,但实际上 Attribute在微软的官方称呼是特性。嗯,所以个人觉得Route Attribute应该是特性路由,路由特性。嗯,暂且甩开称呼的问题,小伙伴们知道这是一种使用Attribute标记的路由配置方案就行。我们之前了解的路由设置都是通过路由表设置的

2020-06-04 15:23:24

【Java Spring Cloud 实战之路】- 3 使用Nacos和网关中心的创建

0. 前言在上一节中,我们创建了一个项目架构,后续的项目都会在那个架构上做补充。1. Nacos1.1 简介Nacos可以用来发现、配置和管理微服务。提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos用来更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以”服务“为中心的现代应用构架(例如微服务范式、云原生范式)的服务基础设置。也就是通常我们所说的配置中心和服务发现中心。1.2 搭建和启动Nacos目前版本不支持以Spring boot

2020-06-04 09:48:19

【asp.net core 系列】3 视图以及视图与控制器

0.前言在之前的几篇中,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元。这一篇我们将介绍一下控制器与视图直接的关系。1. 视图这里的视图不是数据库里的视图,是一种展示技术。在asp.net core mvc项目中视图是指以cshtml做扩展名的文件,通常在Views文件夹。那么现在我们进到之前创建的测试项目 MvcWeb的Views目录下,如果小伙伴们没有做修改的话,能看到如下的目录结构:├── Home│ ├── Index.c

2020-06-02 22:22:41

【asp.net core 系列】2 控制器与路由的恩怨情仇

0. 前言在上一篇文章中,我们初步介绍了asp.net core,以及如何创建一个mvc项目。从这一篇开始,我将为大家展示asp.net core 的各种内容,并且尝试带领大家来挖掘其中的内在逻辑。当然,那是以后的事情。这一篇将通过自定义一个控制器来为大家介绍asp.net core mvc 中控制器和路由的相关知识。1. 控制器先在Controllers目录下添加一个类,名叫:public class DemoController{ public string Index()

2020-06-02 08:31:53

Java Spring Cloud 实战之路 - 2 创建项目

0. 前言该项目使用Maven进行管理和构建,所以需要预先配置好Maven。嗯,在这个系列里就不做过多的介绍了。1. 创建项目先创建一个pom.xml 文件,添加以下内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w

2020-05-31 23:45:49

【asp.net core 系列】 1 带你了解一下asp.net core

0. 前言这是一个新的系列,名字是《ASP.NET Core 入门到实战》。这个系列主讲ASP.NET Core MVC,辅助一些前端的基础知识(能用来实现我们需要的即可,并非主讲)。同时这个系列也会在后续介绍ASP.NET Core 平台的其它类型的项目,并带领大家以各个类型的项目为主要架构开发一个网站或者网络服务中心。下图是官网关于Asp.net Core支持的项目的介绍1. ASP.NET Core 介绍这一节我将为大家介绍一下 asp.net core的发展历程。最早,微软为了替代CGI

2020-05-29 22:40:09

C# 数据操作系列 - 19 FreeSql 入坑介绍

0. 前言前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下。嗯,想不到我也能带个货了。哈哈,开个玩笑~看了下觉得设计的挺有意思的,所以就谢了这篇文章。简单介绍一下,FreeSql 是NCC组织的沙盒级项目,是一款功能强大的 ORM 组件,支持 .NET Core、.NET Framework 和 Xamarin。目前 FreeSql 支持以下数据库:MySQL、PostgreSQL、SqlServer、Oracle、Sqlite、Odbc、微软 Access 以及国

2020-05-29 11:46:09

C# 数据操作系列 - 18 让Dapper更强的插件

0. 前言在前一篇中我们讲到了Dapper的应用,但是给我们的感觉Dapper不像个ORM更像一个IDbConnection的扩展。是的,没错。在实际开发中我们经常用Dapper作为对EF Core的补充。当然了Dapper并不仅仅只有这些,就让我们通过这一篇文章去让Dapper更像一个ORM吧。1. Dapper ContribDapper Contrib 扩展了Dapper对于实体类的CRUD方法:安装方法:命令行:dotnet add package Dapper.ContribNuG

2020-05-28 13:58:36

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取