- 博客(985)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 ASP.Net Identity + IODC 解析ReturnUrl
》默认已经生成了Miagratin 直接update-database。创建的项目结构中 没有 注册和登录的 控制器和视图。》》》配置Config 类。》》Program中。
2025-01-16 11:28:26 599
原创 OIDC IdentityServer4之ApiResource、ApiResourceScope、ApiScope
Client包含某个scope。且ApiResourceScope表中也定义了该scope。则该Client获取的accesstoken中将会包含aud这个声明,且值为ApiResourceScope表中对应记录关联的ApiResource的名称。而aud用于api资源服务器验证accesstoken。
2025-01-09 15:36:49 200
原创 持久化 OpenID OIDC【OpenID Connect】 openID OAuth==>IdentityServer4 IDS4 源码案例《3》 可以实现SSO单点登录
xxx。
2025-01-06 15:29:28 114
原创 OpenID OIDC【OpenID Connect】 openID OAuth==>IdentityServer4 IDS4 源码案例《2》 可以实现SSO单点登录 Challenge
AuthServer 端口是 2025。WebApp 端口是 2004。WebAPI 端口是 2005。》》》Home 控制器。
2025-01-06 15:28:46 503
原创 IdentityServer4 案例
通常情况下,我们会把 OIDC 和 OAuth 2.0 搭配使用,认为该组合是在可预见的未来保护现代应用程序的最佳方法。而 IdentityServer4 是这两个协议的实现,并且经过高度优化,可以解决当今 移动(mobile)、原生(native)和 Web 应用程序 的典型安全问题。两个基本的安全考虑,身份验证和API 访问,被组合成了一个单一的协议 IdentityServer4( 简称 IDS4)》》》webapi 跟客户端凭证模式 一样。openid==》 用户是谁。
2025-01-03 15:26:56 748
原创 checked 溢出问题
在 C# 中,默认情况下,整数运算不会检查溢出,如果发生溢出,结果会被截断,而不是抛出异常。关键字包围的代码块中,如果发生整数溢出,编译器会抛出。所以即使发生溢出,也不会抛出异常。
2025-01-02 09:34:53 327
原创 net 创建单元测试 NUnit
这个是标识包含自动化测试的类,可能改成TestClass大家更加理解。但是代码是无法编译过去的。通常的单元测试框架都以他们支持的语言的开头字母加上Unit作为名字,他们统称为xUnit框架。这个是标识这个方法需要自动化测试的。记得把这个属性加在要测试的方法上。当然不是所有的都这么命名,但大部分如此。C++的叫做CppUnit,Java的叫做JUnit,.Net的叫做NUnit。
2024-12-30 13:25:08 146
原创 浅拷贝 》》shallow copy 深拷贝》》DeepClone
浅表拷贝得到一个新的实例,一个与原始对象类型相同、值类型字段相同的拷贝。但是,如果字段是引用类型的,则拷贝的是该引用, 而不是的对象。若想将引用字段的对象也拷贝过去,则称为深拷贝。
2024-12-24 17:33:39 310
原创 DBNull Null
是可以表示数据库中的字符串,数 字,或日期,为什么可以表示原因是DotNet储存这些数据的类(DataRow等)都是以 object 的形式来储存数据的。对于 DataRow , 它的 row[column] 返回的值永远不为 null , 要么就是具体的为column 的类型的值。null 关键字是表示不引用任何对象的空引用的文字值。DBNull在DotNet是单独的一个类型,该类只能存在唯一的实例,DBNULL.Value,如果 int i=null,的话,是不可以的,因为Int是值类型的。
2024-12-23 13:39:35 321
原创 net 数组 克隆 、 拷贝
CopyTo 方法在向目标数组 复制数据之前,目标数据 必须实例化(可以不初始化元素值)目标数组名称 = (数组类型名称)源数组名称 . clone();源数组名称 . CopyTo(目标数组名称,起始位置);clone 方法 目标数组不必实例化。
2024-12-23 11:21:27 161
原创 内存泄漏 内存溢出
程序申请内存后,无法释放已申请的内存空间,一次泄露似乎影响不大,但内存泄漏堆积后的后果就内存溢出。或者说,给一个int类型,但存储long类型,结果就是内存不够用,就报错(OOM)内存溢出。程序申请内存时,没有足够的内存供申请者使用。内存溢出 out of memory。内存泄露 memory leak。
2024-12-23 09:03:27 213
原创 ASP.NET Core - 依赖注入 自动批量注入
随着业务的增长,我们项目工作中的类型、服务越来越多,而每一个服务的依赖注入关系都需要在入口文件通过Service.Add{}方法去进行注册,这将是非常麻烦的,入口文件需要频繁改动,而且代码组织管理也会变得麻烦,非常不优雅。在许多框架中会对这种通过 Service.Add{xxx} 的方式在代码中显式注册依赖注入关系的方式进行变形,有的可以通过配置文件进行注册,从而确定类型是否需要自动注册到容器中,如果需要再根据约定好的规则获取需要注册的服务类型,并且构建服务描述器,再将其添加到容器中。
2024-12-18 11:49:05 786
原创 Type 类型 总结
在C#中,Type.IsAssignableFrom方法用于判断一个类型是否可以从另一个类型赋值。它检查源类型是否是目标类型的基类或接口。如果 “如果该 Class 表示一个基本类型,且指定的 Class 参数正是该 Class 对象”,是则返回true,否则放回false。标识 “当前Class 是否是给定的 Class 的超类或者超接口”。是 返回true,否则返回false。标识 “当前Class 是否与定的 Class 的相同”。是 返回true,否则返回false。
2024-12-18 11:40:33 369
原创 Web 安全 跨站 跨域 XSS CSRF
eTLD 即 effective top level domain,有效顶级域名,比如 http://juejin.cn 的 eTLD 是 .cn,http://test.org 的 eTLD 是 .org,而 http://chorer.github.io 则是 github.io(注意不是 .io)。而 eTLD + 1 指的是有效顶级域名 + 二级域名,比如对于 http://juejin.cn 来说就是 juejin.cn,对于 http://test.org 来说就是 test.org。
2024-12-16 13:19:30 696
原创 Net Core 中间件过滤器
包含一个Configure 方法 ( 一般来说还会包含一个IApplicationBuilder参数用于配置中间件管道,不过这不是强制的)。中间件过滤器,其实是在过滤器管道中加入中间件管道,中间件过滤器的执行时机与资源过滤器一样,即模型绑定之前和管道的其余部分执行之后执行。创建中间件过滤器,必须满足一个条件,即中间件。
2024-12-16 10:46:28 514
原创 Net Core 筛选器 ☞ ServiceFilterAttribute TypeFilterAttribute 源码
【代码】Net Core 筛选器 ☞ ServiceFilterAttribute TypeFilterAttribute 源码。
2024-12-16 09:24:10 287
原创 Asp.net Core中间件 UseStatusCodePages UseStatusCodePagesWithRedirects UseStatusCodePagesWithReExecut
【代码】Asp.net Core中间件 UseStatusCodePages UseStatusCodePagesWithRedirects UseStatusCodePagesWithReExecut。
2024-12-14 11:18:56 157
原创 错误处理中间件 VS 异常过滤器 net Core
仅可捕获Controller创建时(也就是构造函数中抛出的异常)、模型绑定、Action Filter和Action中抛出的未处理异常,其他地方抛出的异常捕获不到。现在,我们已经介绍了两种错误处理的方法——错误处理中间件和异常过滤器。在我们的应用中,可以同时使用错误处理中间件和异常过滤器,只有充分发挥它们各自的优势,才能处理好程序中的错误。粒度更小,可以灵活针对Controller或Action配置不同的异常过滤器。异常过滤器非常适合用于捕获并处理Action中的异常。可以捕获后续中间件的所有未处理异常。
2024-12-14 11:00:57 443
原创 net Switch 新语法
正文是表达式(求值),不是语句(以分号结尾) 是表达式 表达式,不是语句,所以 是 逗号,不是分号。default事例替换成 _ 弃元 定位。变量位于 switch 关键字之前。case 、: 替换成 =>
2024-12-14 10:44:42 159
原创 Asp.NET core identity 标识 + EFCode + WebAPI AddDbContextPool 上下文池 预先加载 显式加载 延迟加载
》》Identity是集成到Owin框架中中● Microsoft.AspNet.Identity.EntityFramework:Identity数据持久化的EF实现。● Microsoft.AspNet.Identity.OWIN:基于Identity的OWIN身份验证插件,它代替了原有的Form验证。● Microsoft.Owin.Host.SystemWeb:Owin的IIS宿主,将IIS的接收到的请求转入Owin处理。
2024-12-13 15:29:02 1575
原创 OpenID OIDC【OpenID Connect】 openID OAuth==>IdentityServer4 IDS4 源码案例》》Bearer认证 && OAuth 认证 客户端、密码模式
openid==》 用户是谁。oauth==>用户能干什么。
2024-12-13 15:27:16 209
原创 Net Core Cookie 、Net Framework cookie IHttpContextAccessor HttpContextAccessor
【代码】Net Core Cookie 、Net Framework cookie IHttpContextAccessor HttpContextAccessor。
2024-12-13 10:49:22 370
原创 net.core SignalR web Socket ws
SignalR中一个重要的组件就是集线器hub,他用于在WebSocket服务器端和所有客户端之间进行数据交换,所有连接到同一个集线器上的程序都可以互相通信。
2024-12-12 15:05:55 213
原创 ASP.net Core EntityFramework Code EF code 汇总
到此,EF Core的环境搭建完成,总结一下,目前还没有数据库只是定义了实体对象, EF Core会根据我们定义的实体对象自动生成数据库,这种操作也被称之为迁移(migration)如果此时修改了BookEntityConfig中属性设置,需要再次执行一次{修改一次,就需要做一次迁移和Update-database}会自动在项目下生成Migrations文件夹,文件夹下生成相应的代码,其中名称为日期ID号_自定义名称的类,目前只是实体对象创建完成,但是还没有在数据库中生成相应的表。其主要功能是创建数据库。
2024-12-11 17:32:31 759
原创 IdentityServer4框架 Identity 区别
ASP.NET Core Identity是一个成员身份系统,可将用户注册和登录功能添加到 ASP.NET Core Web UI。授权涉及允许你进行的操作。因此,身份验证是授权的先决条件。IdentityServer是一个中间件,它可以添加符合OpenID Connect和OAuth2.0的终端(endpoints)到一个任意的ASP.NET Core应用.IdentityServer4是基于ASP.NET Core实现的认证和授权框架,是对OpenID Connect和OAuth 2.0协议的实现。
2024-12-06 14:48:24 705
原创 命名规则 camelCase snakeCase Pascalcase 等
如果第一个单词首字母小写,称之为lower camel case(camelCase,小驼峰式),例如"getUserName"。如果第一个单词首字母大写,称之为upper camel case(CamelCase,大驼峰式),例如"GetUserName"。如果所有单词都小写,称之为lower snake case(小蛇式),例如"get_user_name"。如果所有单词都大写,称之为upper snake case(大蛇式),例如"GET_USER_NAME"。
2024-12-04 14:50:50 214
原创 Net Core 8 支持 命名注册服务 FromKeyedServices 循环引用问题
》可以通过 IEnumerable<接口> 获取实现的列表, 但多个实现推荐用第三方的 Autofac,因为autofac 支持属性注入,命名、构造函数注入,函数注入,类型注入、程序集注入等。// 获取别名1的 实例。》》》 控制器中注入通过 【FromKeyedServices(别名)】 修饰 获取对应的实例对象。》》》 没有FromKeyedServices修饰的,则获取 注册时,没有别名的服务实例对象。》》》 如果想在构造函数中获取key的值则使用特性[ServiceKey]
2024-12-03 11:27:56 511
结算方式 付款方式 支付方式
2023-04-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人