.NET Core

ASP.NET Core Web Api之JWT(一)

99封情书 提交于 2020-12-19 08:02:06
最近沉寂了一段,主要是上半年相当于休息和调整了一段时间,接下来我将开始陆续学习一些新的技能,比如Docker、Jenkins等,都会以生活实例从零开始讲解起,到时一并和大家分享和交流。接下来几节课的内容将会讲解JWT,关于JWT的原理解析等等大有文章,就不再叙述,这里我们讲解使用和一些注意的地方。 在.NET Core之前对于Web应用程序跟踪用户登录状态最普通的方式则是使用Cookie,当用户点击登录后将对其信息进行加密并响应写入到用户浏览器的Cookie里,当用户进行请求时,服务端将对Cookie进行解密,然后创建用户身份,整个过程都是那么顺其自然,但是这是客户端是基于浏览器的情况,如果是客户端是移动app或者桌面应用程序呢? 关于JWT原理可以参考系列文章https://www.cnblogs.com/RainingNight/p/jwtbearer-authentication-in-asp-net-core.html,当然这只是其中一种限制还有其他。 如果我们使用Json Web Token简称为JWT而不是使用Cookie,此时Token将代表用户,同时我们不再依赖浏览器的内置机制来处理Cookie,我们仅仅只需要请求一个Token就好。 这个时候就涉及到Token认证,那么什么是Token认证呢? 一言以蔽之: 将令牌

CentOS7下使用Docker容器化.net Core 2.2

一个人想着一个人 提交于 2020-12-19 05:20:49
一、 使用 yum 安装(CentOS 7下)     Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。   通过 uname -r 命令查看你当前的内核版本    二、安装 Docker    从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。   Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。   1、 移除旧的版本   $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine   2、 安装一些必要的系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2   3、 添加软件源信息 sudo yum-config-manager --add-repo http:

从CLR 到framework 到 .net core 、 ASP.NET CORE

一曲冷凌霜 提交于 2020-12-19 05:04:23
从CLR 到framework 到 .net core 、 ASP.NET CORE 前言: 总有人问我,.NET CORE 是不是跟.NET 有很大区别,有哪些哪些语法有什么不同 ,你要讲讲培训培训 ,要专门讲一堂课!!- -。 我心里想了一想,.net core 和.net framework 区别讲一堂课?臣妾做不到。。。因为简单的说可能就几句话, 后面仔细想了想,往细了说可能要从 语言和框架,还有底层相关知识说起。 为了说得更清晰,我从 硬件 —— 机器语言—— CLR运行时(java叫虚拟机)—— Base Class Library(java的系统包,) —— 高级语言编写的程序 —— asp.net core 一步步来说这事! 1. 基础知识 a.硬件 硬件就没什么好说的了,CPU、内存、硬盘... b. 机器语言———— 直接操作硬件 由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。 高级语言———— 计算机不能直接执行,必须经过转换或者解释才能执行, 相对于机器语言来说是高级语言。比如 C# 语言,是一种通用的类型安全且面向对象的高级编程语言。 c. CLR 公共语言运行时 是一个类似JAVA虚拟机的代码运行环境,结构如下 CLR 执行示意图 d.Base

在传统.NET Framework 上运行ASP.NET Core项目

坚强是说给别人听的谎言 提交于 2020-12-19 02:41:38
新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如《 使用 JavaScriptService 在.NET Core 里实现DES加密算法 》,我们要估计等到.NET Core 1.2我们才会有大部分的API,通过NodeJs方式有点曲线救国的味道,很多人会不认同,如果要在纯的.NET Core下运行我们的ASP.NET Core项目,在特定的时间进度内很难办到,不仅仅我们所依赖的一些API还没有,还有我们大量的.NET Framwork的库还来不及迁移到.NET Standard 兼容。本文就是向你介绍如何在我们的.NET Framework 4.5以上的环境下跑我们的ASP.NET Core项目,让我们跟上.NET Core的发展步伐。 Scott hanselman 写了一篇文章《 How to reference an existing .NET Framework Project in an ASP.NET Core 1.0 Web App 》向我们介绍了如何.NET Framework 4.5以上的环境下跑我们的ASP.NET Core项目。这篇文章里有一张图解释了这么做的原理: .NET 4.5以上的版本和.NET Core的底层的编译器和运行时都是一样的,ASP.NET Core 1.0也可以跑在NET Framework 4.6上

What's the difference between SDK and Runtime in .NET Core?

与世无争的帅哥 提交于 2020-12-18 03:32:22
What's the difference between SDK and Runtime in .NET Core? Answer1 According to the .Net Core Guide , .NET Core is composed of the following items A .NET runtime, which provides a type system, assembly loading, a garbage collector, native interop and other basic services. A set of framework libraries, which provide primitive data types, app composition types and fundamental utilities. A set of SDK tools and language compilers that enable the base developer experience, available in the .NET Core SDK. The 'dotnet' app host, which is used to launch .NET Core apps. It selects the runtime and

Docker系列之AspNetCore Runtime VS .NetCore Runtime VS .NET Core SDK(四)

▼魔方 西西 提交于 2020-12-18 03:25:13
前言 接下来我们就要慢慢步入在.NET Core中使用Docker的殿堂了,在开始之前如题,我们需要搞清楚一些概念,要不然看到官方提供如下一系列镜像,我们会一脸懵逼,不知道到底要使用哪一个。 AspNetCore Runtime VS .NetCore Runtime VS .NET Core SDK 本节我们所讲解的官方所提供的一系列镜像都是最新镜像,而且阅读本文的您还需明白一点,要是您看到其他博文中提供的镜像以microsoft开头,那么说明已过时不再可取。这里额外再多说一句,很多时候我们看到一些资料,然后亲自实践却没达到文章中所描述的效果,大部分情况下可能都是官方已更新导致,一切以官方文档为主才是最佳。我们将官方所提供的镜像作如下说明: 镜像地址 镜像名称 镜像说明 mcr.microsoft.com/dotnet/core/runtime .NET Core Runtime 部署.NET Core控制台程序 mcr.microsoft.com/dotnet/core/runtime-deps .NET Core Runtime Dependencies 部署自包含的部署应用程序 mcr.microsoft.com/dotnet/core/sdk .NET Core SDK 构建.NET Core(或ASP.NET Core应用程序) mcr.microsoft.com

SkyWalking 为.NET Core

纵然是瞬间 提交于 2020-12-18 02:54:11
SkyWalking 为.NET Core https://www.cnblogs.com/liuhaoyang/p/skywalking-dotnet-v02-release.html Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控 在大型网站系统设计中,随着分布式架构,特别是微服务架构的流行,我们将系统解耦成更小的单元,通过不断的添加新的、小的模块或者重用已经有的模块来构建复杂的系统。随着模块的不断增多,一次请求可能会涉及到十几个甚至几十个服务的协同处理,那么如何准确快速的定位到线上故障和性能瓶颈,便成为我们不得不面对的棘手问题。 为解决分布式架构中复杂的服务定位和性能问题,Google在论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》中提出了分布式跟踪系统的设计和构建思路。在这样的背景下,Apache SkyWalking创建于2015年,参考Dapper论文实现分布式追踪功能,并逐渐进化为一个完整功能的Application Performance Management系统,用于追踪、监控和诊断大型分布式系统,尤其是容器和云原生下的微服务系统。 今年初我在尝试使用.NET

Java Spring Boot VS .NetCore (八) Java 注解 vs .NetCore Attribute

和自甴很熟 提交于 2020-12-17 08:28:45
继续前面的章节,这里我介绍下注解,其实Java注解跟.NetCore的特性标签类似,下面我们通过代码来说明 Java自定义注解 首先我先说下Java注解需要使用的注解 @Target(value = ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented Taget:指定注解在什么地方生效,作用于什么对象上,参数很多这里把源码拉出来了,每一个的意思就不过多介绍,一看就明白 public enum ElementType { /** 类、接口(包括注释类型)或枚举声明 */ TYPE, /** 字段声明(包括枚举常量) */ FIELD, /** 方法声明 */ METHOD, /** 形式参数声明 */ PARAMETER, /** 构造函数声明 */ CONSTRUCTOR, /** 局部变量声明 */ LOCAL_VARIABLE, /** 注释类型声明 */ ANNOTATION_TYPE, /** 程序包声明 */ PACKAGE, /** * 类型参数声明 * * @since 1.8 */ TYPE_PARAMETER, /** * 使用类型 * * @since 1.8 */ TYPE_USE } public enum RetentionPolicy { /** 注解将被编译器丢弃 */

.net core小网关

a 夏天 提交于 2020-12-16 16:05:59
最近在做一个项目, .net core C#已经开发了大部分功能 接着的功能需要让JAVA来完成 所以需要处理URL透传,对URL地址拦截并请求JAVA编码的API 实现方式如下: 1、首页我们创建一个中间件对路由进行处理 public class GateWayMiddleware { private readonly RequestDelegate m_Next; private string URL; public ProxyMiddleware(RequestDelegate next) { this.m_Next = next; } public Task Invoke(HttpContext context) { //通过URL进行匹配第三方的URL地址 URL = GetUrl(context.Request.Path); //如果未匹配到任何第三方的URL的地址,直接往管道正常流走 if (string.IsNullOrEmpty(URL)) return this.m_Next(context); //请求的GET方式处理 if (context.Request.Method.ToUpper() == "GET") return this.HttpGet(context); //请求的GET方式处理 if (context.Request.Method