随笔分类 - .NET
摘要:管理员给用户改了角色之后,都是在群里发消息,让人重新登录下系统然后生效角色的,有时候有的用户不太懂,导致没退出,就会说系统有问题,后面我们在DOTNET 鉴权系列- JWT 会话撤销与主动登出 把 JWT 的踢人做完之后,暂时解决了,管理员直接就在后台给指定用户全部退出了,其实仔细想想虽然加了主动登
阅读全文
摘要:写这篇的主要原因是记录一下jwt无状态特点下的主动撤销和登出的解决方案,因为之前负责做过类似的用户相关的系统,对于这一块的方案和实现比较粗糙的,登录成功后,计算完整 JWT 字符串的 Hash,将tokenHash + userId存入Redis,每次鉴权时计算请求 Token 的 Hash,去存储
阅读全文
摘要:.NET Core基于资源的授权-防止水平越权的实现 这篇分享内容就是基于图中的后半部分,在功能权限验证通过后,对数据进行操作时,如何使用原生 .NET Core 的授权模块进行实现及扩展。在回顾一下授权的这个简图: 资源权限在功能权限之上,不是替代关系。业务逻辑上,必须得先验证调用方具备目标接口的
阅读全文
摘要:前两篇我们聊过认证鉴权模块,分别介绍了 Cookie、JWT 怎么接入及扩展,并且还分析了认证在请求链路里是怎么跑起来的。那么接下来进入 .NET Core 授权(Authorization)。简单来说就是这篇分享的所有东西,都建立在用户已经登录、Claims 已经在手的前提上,不要串台了。 很好理
阅读全文
摘要:1.前言 玩了半年最近找了新工作,,新工作也是再一次接触到Abp vNext 框架,内部系统开发也是基于这个框架的,最近领导让研究学习框架身份认证权限这一套,然后为现有系统做一些扩展和维护,在研究的过程中发现一些很有趣的设计和代码,刚好有些总结,今天分享出来。 做业务系统,配置这东西绕不开。小到一个
阅读全文
摘要:1.前言 上一篇我们实战了怎么用 JWT 认证和 Cookie 认证,不得不感叹这套东西设计得很巧妙——我们只要简单配几行,一整套完整的功能就能跑起来。那这一篇,我们就往下钻一层,看看框架到底是怎么实现的。我大概列了 3 个方向入手。在正式开始之前,我先说下按这几个问题去理解,会顺很多。 认证模块是
阅读全文
摘要:1. 前言 框架为我们提供了很多默认的实现,在做一些中小项目,在不涉及OIDC,不构建身份认证中心的场景下,通常选择使用Cookie和JWT的方式。同时框架内置了其他的一些实现,例如基于oAuth2.0的实现,包括谷歌、Facebook、GitHub等用于支持第三方登录。 在我们日常开发场景下,可能
阅读全文
摘要:前言 本篇文章是分享学习《凤凰架构》这本书的笔记。感兴趣的朋友,京东商城有售,也有电子版,强烈推荐大家去了解一下。 记得刚学习数据库时,老师讲到事务就提到了 ACID 这个字眼。那时候比较懵逼,考试时记不住这4个单词所有的含义,反正写个 ACID 的话,2分也能拿一分。一直到工作了好几年之后,准确来
阅读全文
摘要:C# 日常开发中,资源管理是一个常见但容易出错的问题。无论是数据库连接、文件句柄还是信号量,忘记释放资源都可能导致内存泄漏、死锁等严重问题。 传统的 try-finally块虽然可靠,但代码冗长且容易遗漏。C# 提供了一个比较优雅的解决方案:使用using语句。但要让自定义资源支持 using,需要
阅读全文
摘要:主要用于分享如何使用可视化工具创建分支,删除,合并、挑拣、剥离、pr,以及一些基本操作,如果您是命令极客,可以忽略。同时这也是做过团队内部技术分享的,完全可以包含企业日常开发98%的Git使用场景,因为我是搞.NET的,所以用VS演示,当然也考虑其他的语言,是用SourceTree来演示。 因为有的
阅读全文
摘要:1.前言 在使用framwork时构造对象都是直接new,本身框架没有提供DI的能力,当然也可以集成Autofac ,因为Autofac 提供了完善的适配器,可以无缝集成到各类项目中,可以看出微软选择不是“修补旧船”,而是“建造新航母”,随着 .netcore 的发展,依赖注入也是被作为.netco
阅读全文
摘要:前两天聊了下Roslyn,如果您耐心看完,也算是入了门,那么今天继续分享它的另外一大特性,那就是 Source Generator,(源代码生成器)是 (Roslyn)提供的一项强大功能,它允许开发者在编译期间自动生成 C# 源代码,并将这些代码无缝融入编译过程,并且无需手动编写或维护这些代码。 大
阅读全文
摘要:1.什么是 Roslyn 聊起 Roslyn 可能对于有部分小伙伴有些陌生,有些小伙听过但是没接触过,有些小伙伴可能比较擅长,其实在这之前我也是个懵的,听过但是没深入了解,因为我不知道并不影响我做一些增删改查,但是如果你要深入,或者写一些框架底层或者提升效率的工具以及扩展,那这个是必须掌握的技术。
阅读全文
摘要:作为铺垫后续阅读源码的一些帮助,开始想直接开始尝试读源码,但是发现上下文连接不紧密,很突兀,所以还是简单介绍下如何使用。最起码从0-1。然后发现他解决的问题, 其实官方文档是有介绍如何使用的,只是比较浅显,想深入理解和发掘它的一些扩展性,还是需要自己多下功夫的,不过经过总结出的经验来说,只要你想学习
阅读全文
摘要:1.什么是gRPC 1.基本介绍 gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统,所以叫g(google)RPC。支持主流开发语言(C, C++, Python, PHP, Ruby, NodeJS, C#, Objective-C、Golang
阅读全文
摘要:1.什么是配置中心? 例如在Net Framwork中web.config、Winform中的app.config 以及Net Core下的appsettings.json 这些都是应用程序的配置文件,配置的作用其实简单来说,就是用来动态修改程序执行状态的一种机制。 那么什么是配置中心呢? 其实配置
阅读全文
摘要:一、网关基本概念 1.解耦 解耦的好处,客户端和微服务独立扩展,服务端可以随意增加,客户端没有感知,当然因为在程序架构中加入了一层产生的好处,我们也可以在网关本身做一些扩展,例如缓存,抗并发等。 2.分发 分发的好处就是网关可以将请求根据不同的算法负载均衡到不同的实例上,提高系统的伸缩性,在某种意义
阅读全文
摘要:1.前言 相信说起MongoDB很多人都知道是NoSql,非关系型之类的,但是需要注意 1.和传统关系型数据库Sqlserver、Mysql、Oracle相比,MongoDB身为非关系型数据库,在数据存储结构和数据查询以及数据海量存储上,拥有绝对的优势,并且可以说它与关系型数据库是互为优缺点,互补的
阅读全文
摘要:1.Docker基本介绍 Docker就是虚拟化的一种轻量级替代技术,基于Go语言的开源应用容器引擎。Docker的容器技术不依赖任何语言、框架或系统,可以将应用程序变成一种标准化的、可移植的、自管理的组件,并脱离服务器硬件在任何主流系统中开发、调试和运行。 光看这个介绍还不足以知道Docker是什
阅读全文
摘要:1.Minio及背景 Minio是一个开源的分布式文件存储系统,它基于 Golang 编写,虽然轻量,却拥有着不错的高性能,可以将图片、视频、音乐、pdf这些文件存储到多个主机,可以存储到多个Linux,或者多个Windows,或者多个Mac,Minio中存储最大文件可以达到5TB。任何类型的文件都
阅读全文

浙公网安备 33010602011771号