概述最近一直在学习研究认证授权这一块,从AspNetCore的Security解决方案,到Identity,再到OAuth2.0、OpenIdConnect协议,然后IdentityServer4,这一块的东西十分多而且复杂,可以算是DotNet里最难啃的骨头之一了。计划做个认证授权的系列,藉由分析源码来学习、记录和加深对这一块的理解。如图是AspNetCore.Security解决方案的项目结构
转载
2021-05-17 23:19:14
104阅读
2评论
OAuth简介现在随便一个网站,不用注册,只用微信扫一扫,然后就可以自动登录,然后第三方网站右上角还出现了你的微信头像和昵称,怎么做到的?sequenceDiagram
用户->>x站点: 请求微信登录
x站点->>微信: 请求 oauth token
微信->>用户: x站点请求基本资料权限,是否同意?
用户->>微
转载
2020-03-25 01:08:00
199阅读
2评论
JwtBear简介首先回想一下Cookie认证,Cookie认证在用户登录成功之后将用户信息加密后写入浏览器Cookie中,服务端通过解析Cookie内容来验证用户登录状态。这样做有几个缺陷:Cookie加密方式是微软自己定义的,并非国际标准,其他语言无法识别。依赖Cookie,在跨域场景下,存在诸多限制。CORS除非设置白名单否则是不允许带Cookie的;大部分浏览器对跨域设置Cookie有严格
转载
2021-05-08 22:14:39
263阅读
2评论
oidc简介oidc是基于oauth2.0的上层协议。OAuth有点像卖电影票的,只关心用户能不能进电影院,不关心用户是谁。而oidc则像身份证,扫描就可以上飞机,一次扫描,机场不仅能知道你是否能上飞机,还可以知道你的身份信息。oidc兼容OAuth2.0, 可以实现跨顶级域的SSO(单点登录、登出),下个系列要学习的IdentityServer4就是对oidc协议族的一个具体实现框架。更多理论知
转载
2021-05-18 11:38:35
523阅读
2评论
简介Secutiry的认证目录还有这些项目,基本都是具体的OAuth2.0服务商或者其他用的比较少的认证架构,简单看一下,了解一下。Microsoft.AspNetCore.Authentication.CertificateMicrosoft.AspNetCore.Authentication.FacebookMicrosoft.AspNetCore.Authentication.GoogleM
转载
2021-05-18 11:11:17
57阅读
2评论
依赖注入AuthenticationBuilder AddCookie(this AuthenticationBuilder builder);
AuthenticationBuilder AddCookie(this AuthenticationBuilder builder, string authenticationScheme);
AuthenticationBuilder AddCo
转载
2020-03-20 00:46:00
94阅读
2评论
依赖注入框架提供了三个依赖注入重载方法。//注入认证服务
services.AddAuthentication();
//注入认证服务并制定默认架构名
services.AddAuthentication("Cookies");
//注入认证服务并设置配置项
services.AddAuthentication(config =>
{
});看看注入代码public static Au
转载
2020-03-18 22:58:00
104阅读
2评论
简介开篇提到过,认证主要解决的是who are you,授权解决的是 are you allowed的问题。各种认证架构可以帮我们知道用户身份(claims),oauth等架构的scope字段能够控制api服务级别的访问权限,但是更加细化和多变的功能授权不是它们的处理范围。微软的Authorization项目提供了基于策略的灵活的授权框架。推荐看下面博客了解,我主要学习和梳理源码。https://
转载
2021-05-18 11:08:19
257阅读
2评论
.net core 3.1 使用nlog记录日志 NLog.Web.AspNetCore 背景 .net core 中已经集成了log的方法, 但是只能控制台输出不能写入文件等等. 常见第三方的的日志工具包括log4net, nlog等等, 本文介绍nlog 一. 引用程序集, nuget 安装NL
原创
2021-07-15 15:09:35
403阅读
# ASP.NET Core and Axios: A Comprehensive Guide
In modern web development, it's common to use API calls to interact with servers and fetch data dynamically. ASP.NET Core is a popular framework for bu
原创
2024-02-26 05:33:44
11阅读
在 ASP.NET Core 3.0+ web 项目中已经不需要在 .csproj 中添加对 Microsoft.AspNetCore.App 的引用<PackageReference Include="Microsoft.AspNetCore.App" />但是在 
转载
2022-08-22 10:52:32
393阅读
需求前几天,马老板给小明和小红一个“待办事项”网站,小明负责后端,小红负责前端,并要求网站可以同时在 Windows、和 Linux 上运行。小明整理了一下“待办事项”的功能清单:获取所有待办事项按 ID 获取项添加新项更新现有项删除项创建 Web 项目从“文件”菜单中选择“新建”>“项目” 。选择“ASP.NET Core Web 应用程序”模板,再单击“下一步” 。将项目命名为 App0
原创
精选
2023-06-05 16:38:44
263阅读
# 使用 Docker 部署 ASP.NET Core 应用程序
随着微服务架构和容器化应用的普及,Docker 已经成为开发、部署和管理现代应用程序的重要工具。本篇文章将介绍如何使用 Docker 来部署一个简单的 ASP.NET Core 应用程序,包括代码示例和相关工具的使用。
## 1. 什么是 ASP.NET Core?
ASP.NET Core 是一个高性能、跨平台的框架,用于构
# ASP.NET Core Dockerfile 乱码问题的解决方案
在构建和部署 ASP.NET Core 应用程序时,使用 Docker 是一种常见且有效的方法。然而,在某些情况下,编码问题可能会导致输出结果出现乱码,影响应用程序的正常运行。在这篇文章中,我们将探讨 ASP.NET Core 在 Docker 中可能遇到的乱码问题,并提供相应的解决方案和示例代码。
## 乱码问题的原因
获取所有继承自 ControllerBase 的类,获取其公共的实例的方法(不包含父类),认作接口,接口注释的xml文件,可以在项目-右键属性-生成-XML文档文件勾选,再次生成。 using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
us
转载
2021-05-08 23:25:16
218阅读
2评论
ASPNetCore 发布到IIS准备工作1.1. 安装IIS。(具体操作不再说明)安装成功后再浏览器输入localhost得到的页面如下 1.2. 安装dotnet-hosting-2.2.2-win.exe安装成功后在IIS 中可以看到如下两个程序 这两个程序对应得NetCore的版本不一样。一定要注意,因为NetCore现在的向下兼容不好,如果版本不对是不能成功发布的
转载
2020-02-13 12:09:00
233阅读
2评论
控制器: 最好在Shared中创建局部视图,这样减少了耦合度: 主视图: 主要的思路是: 1.在主页面上
原创
2022-05-25 09:05:29
52阅读
# Docker打包ASP.NET Core镜像的完整指南
Docker作为一种流行的容器技术,极大地简化了应用程序的部署和管理。ASP.NET Core是微软推出的跨平台、高性能的框架,广泛用于构建现代化的Web应用程序。将ASP.NET Core应用打包为Docker镜像不仅有助于实现一致的开发和生产环境,还能增强应用的可移植性和可扩展性。本文将从理论和实践两方面介绍如何使用Docker打包
https://docs.microsoft.com/zh-cn/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1
转载
2021-08-19 10:03:42
194阅读
# 如何实现“dockerfile aspnetcore_environment”
## 流程图
```mermaid
graph LR
A(开始) --> B(创建Dockerfile文件)
B --> C(设置基础镜像)
C --> D(复制项目文件)
D --> E(设置工作目录)
E --> F(安装依赖)
F --> G(暴露端口)
G --> H(设置环境变量)
H --> I(运
原创
2023-11-22 13:24:04
70阅读