




资源介绍
视频数量:11个
总时长:3小时13分
课程介绍:
用自定义认证与JWT守护ASP.NET Core Web API安全
做过后端开发的朋友,大概都遇到过这样的场景:接口写好了,能跑了,也接上了前端,但产品经理问一句"这个接口安全吗?"你愣了几秒,脑子里闪过的全是模糊的概念——身份验证、授权、令牌、加密——但具体怎么落地,心里还真没底。
这其实是很多.NET开发者的真实状态。市面上有IdentityServer、有Microsoft身份平台、有各种现成的认证中间件,Visual Studio还能帮你自动生成一大段代码。但问题恰恰出在这里:工具替你做了太多事,你反而不知道背后发生了什么。等到生产环境出了安全漏洞,或者客户要求换成JWT方案,你才发现自己的知识是空中楼阁。
这门课做的事情,就是帮你把楼的地基打扎实。三小时多一点,分两大板块,每一步都跟着讲师手写代码,把认证机制从里到外拆清楚。
一、自定义认证方案:先搞懂原理
很多人一上来就想学JWT,觉得那才是"高级"的东西。但讲师反其道而行,先带你做一个完全自定义的认证方案。为什么?因为JWT本质上也是一种认证方案,如果你不清楚认证的核心流程,看JWT只会越看越糊涂。
这一节从认证流程图开始,讲师会把一次完整的认证过程拆成几个阶段:用户提交凭据、服务端验证、生成令牌、后续请求携带令牌、服务端校验令牌、授权决策。这套流程搞明白了,后面不管是换JWT还是换别的方案,你都能举一反三。
然后进入实操环节。用Entity Framework Core建好数据表,写好用户实体,接着一个端点一个端点地搭:先是用户注册接口,密码怎么哈希存储、怎么加盐,细节都会讲到;再是登录接口,验证密码、签发访问令牌;最后用Authorization属性保护API端点,验证整体流程能不能跑通。学完这一节,你会对"认证"和"授权"两个词有彻底的理解——它们到底在哪个环节起作用,各自解决什么问题。
二、JSON Web令牌:从理论到落地
有了自定义认证的基础,第二大板块就轮到JWT了。这部分从基础概念讲起:什么是JWT、它的三段式结构(Header、Payload、Signature)各自放了什么、签名机制是怎么保证令牌不被篡改的。这些听起来很"科普"的内容其实非常关键,因为后面写代码时遇到的很多坑,根源都在这里。
讲完基础,就进入连续四节的实战环节,每一节对应一个明确的步骤。第一节处理配置文件中的密钥、发行者、受众等参数值,这些是JWT能正常工作的前提条件;第二节创建Token Service类,负责令牌的生成和解析逻辑;第三节把这个服务注册到Program.cs里,和之前学过的自定义认证方案并列存在;第四节则把JWT认证应用到具体的控制器上,用Authorize特性保护指定端点。
这四节的节奏设计得很务实——不一次性把所有代码堆给你,而是拆分成配置、服务、注册、应用四个独立环节。每讲完一节,你都能停下来消化一下,理解为什么这一步必须这样做、下一步又为什么需要衔接前一步的结果。课程里还会提到一些容易踩坑的地方,比如同一个项目中同时存在两种认证方案时的优先级问题,以及配置对象的生命周期管理。
三、你能带走什么
整个课程走下来,你得到的不仅是"跟着做一遍"的经验,而是对ASP.NET Core认证体系的系统性理解。你会知道密码哈希背后的安全考量,会明白JWT每一段数据的含义和风险,会懂得在Program.cs里那一大堆AddAuthentication、AddJwtBearer调用到底在配置什么。更重要的是,当客户要求把自定义方案升级为JWT、或者反过来要兼容旧系统时,你不再需要对着文档发呆,因为底层逻辑你已经掌握了。
适合谁来看?如果你已经会用ASP.NET Core写基本的Web API,但对认证这一块感觉模糊;或者你用过现成的认证模板,但想知道模板背后到底帮你做了什么;又或者你即将在面试或实际项目中面对JWT相关的需求,需要在短时间内建立完整认知——这门课都是对症下药的选择。
需要有一点.NET基础,至少要能看懂C#代码、知道什么是中间件和依赖注入,不需要是安全领域的专家。讲师用最朴素的方式把复杂的概念讲清楚,不堆砌术语,不故弄玄虚,适合那些想踏踏实实把基础打牢的开发者。