万本电子书0元读

万本电子书0元读

顶部广告

深入浅出 ASP.NET Core电子书

1.针对.NET Core 3.1讲解; 2.提供完整源代码下载且代码可复用; 3.本书附送免费视频资源,供读者配合图书学习; 4.本书针对一个完整项目行发,而不是只有零散的代码段; 5.案例丰富、实用,采用了流行框架中的设计模式及实用技术; 6.具有完整的权限功能,统一处理拦截异常、错误页面及日志信息。 经过几年的发展,ASP.NET Core 已趋于稳定,社区生态比较完善。在技术日新月异的今天,我们需要不断学习,并在学习中不断成长。本书由浅深地讲解 ASP.NET Core,如果你想通过学习 ASP.NET Core 来获得更多的机会,那么我推荐本书,在学习 ASP.NET Core 的过程中它可以给予我们启发和帮助。 ——微软MVP 李志强 (晓晨master) ASP.NET Core已成为微软跨平台发的利器。本书基于ASP.NET Core 3.1版本,由浅深地介绍了如何从头始构建ASP.NET Core应用,内容详实,通俗易懂,非常适合.NET发者学习参考。 —— 微软MVP 闫晓迪 我一直认为微软官方文档是门学习*好的资料,但在阅读了梁桐铭的书稿后,我认为他写的这本书更加适合ASP.NET Core初学者参考阅读,从对.NET的历史回顾到对ASP.NET Core各组件由浅深的讲解,都是他学习心得的真心传授。 ——深圳市友浩达科技有限公司 CEO、微软MVP 张善友 即便ASP.NET Core从2016年首发到现在已经过去4年,但其在发者市场中的占比仍然不高。一方面是因为ASP.NET Core技术的主要阵地其实依然是以企业信息化为主的传统企业级应用层面,考虑到成本等综合因素,这些企业无法适时地更新自己的技术;另一方面是因为培养能够熟练驾驭ASP.NET Core技术的年轻发者的速度,赶不上企业飞速发展的需要。即便官方文档很齐全,但系统教程的缺乏,使发者或企业无法从ASP.NET Core的社区资源中受益。这本书有望成为初级和中级ASP.NET Core发者的精神食粮。根据作者介绍的详细步骤,发者能够快速成长为合格的新一代ASP.NET Core发者。本书作者是ASP.NET Core技术的先行者,早年在领域驱动设计等诸多社区贡献了大量学习资源,也在网上设了ASP.NET Core在线课程,而这本书也是他过去若干年经验积累的结晶。 ——深圳敢为软件研发负责人、长沙.NET技术社区组织者 邹溪源 作者在本书的课程管理系统中融了他积累多年的 ASP.NET Core 实践经验,以此为主线层层深,对 ASP.NET Core 的各项重要功能行了充分的讲解和演示。同时,书中还加了对部分框架源码的分析解读,能更好地帮助我们掌握程序的编写技巧。相信无论你是初学者,还是具有一定基础的发者,本书都是一本可以让你全面学习 ASP.NET Core,并且快速运用到实践中的佳作! ——盛派网络创始人、微软 RD / MVP 苏震巍

售       价:¥

纸质售价:¥109.80购买纸书

355人正在读 | 1人评论 6.2

作       者:梁桐铭

出  版  社:人民邮电出版社有限公司

出版时间:2020-09-01

字       数:60.7万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是一本系统地介绍ASP.NET Core、Entity Framework Core以及ASP.NET Core Identity框架技术的门图书,旨在帮助读者循序渐地了解和掌握ASP.NET Core。本书使用ASP.NET Core从零始搭建一个实际的项目。从基本的控制台应用程序始,介绍ASP.NET Core基本的启动流程,涵盖ASP.NET Core框架中各个技术的实际应用。同时,本书也会介绍一些ASP.NET Core的高级概念。在本书中,我们会发一个学校管理系统,其中包含清晰的操作步骤和大量的实际代码,以帮助读者学以致用,将ASP.NET Core的知识运用到实际的项目发当中,*后我们会将发的项目部署到生产环境中。通过阅读本书,读者将掌握使用ASP.NET Core发Web应用程序的方法,并能够在对新项目行技术选型时做出战略决策。 本书适合有一定C# 编程经验和HTML、JavaScript基础,并对ASP.NET Core感兴趣的读者阅读,也可以作为高等院校相关专业的教学用书和培训学校的教材。<br/>【推荐语】<br/>1.针对.NET Core 3.1讲解; 2.提供完整源代码下载且代码可复用; 3.本书附送免费视频资源,供读者配合图书学习; 4.本书针对一个完整项目行发,而不是只有零散的代码段; 5.案例丰富、实用,采用了流行框架中的设计模式及实用技术; 6.具有完整的权限功能,统一处理拦截异常、错误页面及日志信息。 经过几年的发展,ASP.NET Core 已趋于稳定,社区生态比较完善。在技术日新月异的今天,我们需要不断学习,并在学习中不断成长。本书由浅深地讲解 ASP.NET Core,如果你想通过学习 ASP.NET Core 来获得更多的机会,那么我推荐本书,在学习 ASP.NET Core 的过程中它可以给予我们启发和帮助。 ——微软MVP 李志强 (晓晨master) ASP.NET Core已成为微软跨平台发的利器。本书基于ASP.NET Core 3.1版本,由浅深地介绍了如何从头始构建ASP.NET Core应用,内容详实,通俗易懂,非常适合.NET发者学习参考。 —— 微软MVP 闫晓迪 我一直认为微软官方文档是门学习*好的资料,但在阅读了梁桐铭的书稿后,我认为他写的这本书更加适合ASP.NET Core初学者参考阅读,从对.NET的历史回顾到对ASP.NET Core各组件由浅深的讲解,都是他学习心得的真心传授。 ——深圳市友浩达科技有限公司 CEO、微软MVP 张善友 即便ASP.NET Core从2016年首发到现在已经过去4年,但其在发者市场中的占比仍然不高。一方面是因为ASP.NET Core技术的主要阵地其实依然是以企业信息化为主的传统企业级应用层面,考虑到成本等综合因素,这些企业无法适时地更新自己的技术;另一方面是因为培养能够熟练驾驭ASP.NET Core技术的年轻发者的速度,赶不上企业飞速发展的需要。即便官方文档很齐全,但系统教程的缺乏,使发者或企业无法从ASP.NET Core的社区资源中受益。这本书有望成为初级和中级ASP.NET Core发者的精神食粮。根据作者介绍的详细步骤,发者能够快速成长为合格的新一代ASP.NET Core发者。本书作者是ASP.NET Core技术的先行者,早年在领域驱动设计等诸多社区贡献了大量学习资源,也在网上设了ASP.NET Core在线课程,而这本书也是他过去若干年经验积累的结晶。 ——深圳敢为软件研发负责人、长沙.NET技术社区组织者 邹溪源 作者在本书的课程管理系统中融了他积累多年的 ASP.NET Core 实践经验,以此为主线层层深,对 ASP.NET Core 的各项重要功能行了充分的讲解和演示。同时,书中还加了对部分框架源码的分析解读,能更好地帮助我们掌握程序的编写技巧。相信无论你是初学者,还是具有一定基础的发者,本书都是一本可以让你全面学习 ASP.NET Core,并且快速运用到实践中的佳作! ——盛派网络创始人、微软 RD / MVP 苏震巍<br/>【作者】<br/>梁桐铭,微软有价值专家、Microsoft AI Open Hack教练、Microsoft Tech Summit 2018讲师,52ABP源框架作者。2015年始在国内推广ASP.NET Boilerplate Project源框架。拥有多年发经验与技术团队管理经验,熟悉互联网及电商业。负责过多个大型项目的发和管理,擅长应用系统项目的规划设计、及企业解决方案的设计。<br/>
目录展开

版权

内容提要

推荐序

前言

资源与支持

第一部分

第1章 编程语言和 .NET的关系

1.1 编程语言

1.2 编程语言中的C#、F#和VB.NET

1.3 C#与.NET

1.4 小结

第2章 .NET平台

2.1 回顾.NET发展历史

2.1.1 .NET Framework

2.1.2 .NET Framework与Java

2.1.3 .NET的跨平台之路

2.2 Mono神奇的跨平台解决方案

2.3 .NET Standard

2.4 .NET Core

2.4.1 .NET Core的特点

2.4.2 .NET Core 3.1

2.5 .NET Core与其他平台

2.5.1 .NET Core与.NET Framework

2.5.2 .NET Core与Mono

2.5.3 .NET Core与ASP .NET Core

2.6 ASP .NET的发展历程

2.7 ASP.NET Core的未来发展

2.8 小结

第3章 .NET 5的统一整合方案

3.1 进化中的.NET

3.2 .NET 5 (.NET Core vNext)

3.3 .NET Core实现真正的统一开发平台

3.4 小结

第4章 创建ASP.NET Core项目

4.1 ASP.NET Core

4.2 ASP.NET Core的特性

ASP.NET Core中新增的功能

4.3 配置计算机的开发环境

4.3.1 下载并安装Visual Studio 2019

4.3.2 下载并安装.NET Core SDK

4.4 创建ASP.NET Core Web程序

4.5 内置的ASP.NET Core模板说明

4.6 小结

第5章 ASP.NET Core项目启动流程

5.1 ASP.NET Core项目文件

5.2 ASP.NET Core项目的入口

5.3 ASP.NET Core中的进程内与进程外托管模型

5.3.1 进程内托管

5.3.2 Kestrel

5.3.3 CLI

5.4 ASP.NET Core进程外托管

进程外托管

5.5 探讨几个问题

5.6 小结

第6章 ASP.NET Core中的配置文件

6.1 启动配置信息

6.2 通过GUI来设置launchSettings文件

6.3 ASP.NET Core appsettings.json文件

6.3.1 访问配置信息

6.3.2 appsettings.json

6.3.3 用户机密

6.3.4 环境变量

6.3.5 命令行参数

6.4 ASP.NET Core IConfiguration服务与依赖注入

6.5 小结

第7章 ASP.NET Core中的中间件及其工作原理

7.1 中间件

7.2 中间件在ASP.NET Core中的工作原理

7.3 配置ASP.NET Core请求处理管道

7.4 Configure()代码解析

7.4.1 中间件掌握测试

7.4.2 中间件传递

7.4.3 实践中间件的工作流程

7.5 小结

第8章 ASP.NET Core中的静态文件中间件

8.1 添加静态文件中间件

8.2 支持默认文件

8.3 自定义默认文件

8.4 UseFileServer中间件

8.5 小结

第9章 ASP.NET Core开发人员异常页面

9.1 UseDeveloperExceptionPage中间件

9.2 自定义UseDeveloperExceptionPage中间件

9.3 UseDeveloperExceptionPage中间件如何工作

9.4 ASP.NET Core中的环境变量配置

9.5 配置ASPNETCORE_ENVIRONMENT变量

访问ASPNETCORE_ENVIRONMENT变量值

9.6 IWebHostEnvironment服务中的常用方法

9.7 小结

第二部分

第10章 详解ASP.NET Core MVC的设计模式

10.1 什么是MVC

10.1.1 MVC如何工作

10.1.2 Model

10.1.3 View

10.1.4 Controller

10.2 在ASP.NET Core中安装MVC

10.2.1 在ASP.NET Core中配置MVC

10.2.2 添加HomeController

10.3 AddMvc()和AddMvcCore()的源代码解析

10.4 小结

第11章 依赖注入与Student模型

11.1 依赖注入

11.2 详细了解ASP.NET Core中的依赖注入

11.3 使用依赖注入注册服务

11.4 小结

第12章 从Controller传递内容协商数据到View

12.1 Controller请求及相应流程说明

12.1.1 从Controller中返回JSON数据

12.1.2 安装Fiddler

12.2 在Controller中实现内容协商

从控制器中返回协商内容

12.3 从Controller返回View

12.3.1 MVC中的View

12.3.2 视图文件夹结构

12.3.3 视图发现

12.3.4 View()重载方法

12.4 自定义视图发现

12.4.1 指定视图文件路径

12.4.2 相对视图文件路径

12.4.3 其他View()重载方法

12.5 从Controller传递数据到View

12.5.1 数据从Controller传递到View的方法

12.5.2 使用ViewData将数据从Controller传递到View

12.5.3 使用ViewBag将数据从Controller传递到View

12.5.4 ViewData和ViewBag的对比

12.5.5 在ASP.NET Core MVC中创建一个强类型视图

12.6 小结

第13章 完善MVC框架内容

13.1 为什么需要在ASP.NET Core MVC中使用ViewModel

13.1.1 ViewModel示例

13.1.2 在Controller中使用ViewModel

13.1.3 在视图中使用ViewModel

13.2 在ASP.NET Core MVC中实现List视图

13.2.1 修改IStudentRepository中的代码

13.2.2 修改MockStudentRepository中的代码

13.2.3 修改HomeController中的代码

13.2.4 视图Index.cshtml中代码的变化

13.3 为什么需要布局视图

13.3.1 ASP.NET Core MVC中的布局视图

13.3.2 创建布局视图

13.3.3 使用布局视图

13.4 布局页面中的节点

13.4.1 布局页面示例

13.4.2 渲染节点

13.4.3 使布局部分可选

13.4.4 节点的使用

13.5 什么是_ViewStart.cshtml文件

13.5.1 ASP.NET Core MVC中的_ViewStart.cshtml文件

13.5.2 _ViewStart.cshtml文件支持分层

13.5.3 逻辑判断调用布局视图

13.5.4 修改视图

13.6 ASP.NET Core MVC中的_ViewImports.cshtml文件

13.7 小结

第14章 ASP.NET Core MVC中的路由

14.1 ASP.NET Core MVC中的默认路由

14.2 UseMvcWithDefaultRoute()方法中的代码

了解默认路由

14.3 ASP.NET Core MVC中的属性路由

14.3.1 属性路由示例

14.3.2 属性路由参数

14.3.3 属性路由可选参数

14.3.4 控制器和操作方法名称

14.3.5 属性路由支持多层

14.3.6 在属性路由中自定义路由

14.3.7 常规路由与属性路由对比

14.4 ASP.NET Core中新增的路由中间件

14.4.1 路由中间件UseRouting

14.4.2 路由中间件UseEndpoints

14.5 LibMan轻量级包管理器

14.5.1 使用LibMan安装Bootstrap

14.5.2 libman.json文件

14.5.3 清理和还原客户端库

14.5.4 卸载或更新客户端库

14.5.5 libman.json文件说明

14.5.6 在网站中自定义CSS样式表

14.6 在ASP.NET Core应用程序中使用Bootstrap

14.6.1 Details.cshtml视图优化

14.6.2 Index.cshtml视图优化

14.7 小结

第15章 ASP.NET Core中的TagHelper

15.1 导入内置TagHelper

15.1.1 使用TagHelper生成Link链接

15.1.2 TagHelper中的Link标签

15.2 为什么要使用TagHelper

使用TagHelper的优势

15.3 Image TagHelper

15.3.1 浏览器缓存

15.3.2 禁用浏览器缓存

15.3.3 HTTP状态码中的200与302

15.3.4 ASP.NET Core中的Image TagHelper

15.3.5 验证Image TagHelper

15.4 ASP.NET Core中的Environment TagHelper

15.4.1 设置应用程序环境的名称

15.4.2 如果CDN “挂了”怎么办

15.5 使用Bootstrap给项目添加导航菜单

布局页面_Layout.cshtml的代码

15.6 Form TagHelpers提交学生信息

15.6.1 场景描述

15.6.2 Form TagHelper

15.6.3 Input TagHelper

15.6.4 Label TagHelper

15.6.5 Select TagHelper

15.6.6 Create.cshtml中基本的HTML代码

15.6.7 Bootstrap优化后的Create.cshtml的代码

15.7 小结

第16章 ASP.NET Core中的模型绑定与模型验证

16.1 ASP.NET Core中模型绑定的简单例子

另外一个模型绑定示例

16.2 在IStudentRepository接口中添加Add() 方法

16.2.1 在MockStudentRepository类中实现Add() 方法

16.2.2 HttpGet与HttpPost

16.2.3 运行结果

16.3 ASP.NET Core中的模型验证

16.3.1 模型验证示例

16.3.2 ModelState.IsValid属性验证

16.3.3 在视图中显示模型验证错误

16.3.4 自定义模型验证错误消息

16.3.5 ASP.NET Core内置模型验证属性

16.3.6 显示属性

16.3.7 使用多个模型验证属性

16.3.8 自定义模型验证错误的颜色

16.4 ASP.NET Core中的Select选择器验证

16.4.1 HTML页面中的选择列表

16.4.2 使选择列表成为必填

16.4.3 让选择列表成为真正的必需验证

16.5 深入了解依赖注入3种服务的不同

16.5.1 IStudentRepository接口

16.5.2 Student类

16.5.3 MockStudentRepository仓储服务

16.5.4 HomeController

16.5.5 创建学生信息

16.5.6 完善_ViewImports.cshtml

16.6 验证依赖注入服务

16.6.1 AddSingleton()方法

16.6.2 AddScoped()方法

16.6.3 AddTransient()方法

16.6.4 Scoped服务、Transient服务与Singleton服务

16.7 小结

第17章 EntityFramework Core数据访问与仓储模式

17.1 为什么要使用ORM

17.1.1 EF Core Code First模式

17.1.2 EF Core Database First模式

17.1.3 EF Core所支持的数据库

17.2 单层Web应用和多层Web应用的区别

17.2.1 单层Web应用

17.2.2 多层Web应用程序——三层架构

17.2.3 多层Web应用程序——领域驱动设计架构

17.3 Microsoft.AspNetCore.App包

17.4 安装Entity Framework Core

17.4.1 在类库项目中安装NuGet包

17.4.2 Entity Framework Core中的DbContext

17.4.3 在应用程序中使用DbContext

17.4.4 Entity Framework Core中的DbSet

17.5 在Entity Framework Core中使用SQL Server

17.5.1 AddDbContext()和AddDbContextPool()方法之间的区别

17.5.2 UseSqlServer()扩展方法

17.5.3 ASP.NET Core中的数据库连接字符串

17.6 ASP.NET Core中的仓储模式

17.6.1 仓储模式简介

17.6.2 仓储模式中的接口

17.6.3 修改IStudentRepository接口

17.6.4 仓储模式中的内存实现

17.6.5 Repository模式——SQL Server数据库实现

17.6.6 选择合适的仓储实现模式

17.6.7 仓储模式的优点

17.7 Entity Framework Core迁移功能

17.7.1 EF Core中的迁移

17.7.2 常用的Entity Framework Core迁移命令

17.7.3 在Entity Framework Core中创建迁移

17.7.4 在Entity Framework Core中更新数据库

17.7.5 Entity Framework Core中的种子数据

17.7.6 如何启用种子数据

17.7.7 更改现有的数据库种子数据

17.7.8 DbContext类保持“干净”

17.8 在ASP.NET Core中同步领域模型与数据库架构

17.8.1 给学生增加头像字段

17.8.2 Migrations文件夹中的文件说明

17.8.3 _EFMigrationsHistory表的使用

17.8.4 如何删除已应用的迁移记录

17.8.5 删除已应用于数据库的迁移

17.9 小结

第18章 学生头像上传与信息修改

18.1 修改Student模型类

18.1.1 视图模型——StudentCreateViewModel

18.1.2 更新Create视图中的代码

18.1.3 更新Create()操作方法的代码

18.1.4 学生详情视图页面代码

18.1.5 学生列表视图页面代码

18.2 在ASP.NET Core MVC中完成上传多个文件

18.2.1 StudentCreateViewModel文件

18.2.2 更新Create视图的代码

18.2.3 修改Create()操作方法

18.3 ASP.NET Core中的学生编辑视图

18.3.1 导航到编辑视图

18.3.2 编辑视图模型

18.3.3 Edit() 操作方法

18.3.4 编辑视图页面

18.3.5 完成HttpPost的Edit()操作方法

18.4 枚举的扩展方法实现

18.5 小结

第19章 404错误页与异常拦截

19.1 HTTP状态码中的4××和5××

19.1.1 ASP.NET Core中的404错误

19.1.2 404错误信息的视图代码

19.2 统一处理ASP.NET Core中的404错误

19.2.1 404错误的类型

19.2.2 ASP.NET Core中的404错误示例

19.3 处理失败的HTTP状态码

19.3.1 UseStatusCodePages中间件

19.3.2 UseStatusCodePagesWithRedirects中间件

19.3.3 添加ErrorController

19.3.4 添加NotFound视图

19.4 UseStatusCodePagesWithRedirects与UseStatusCodePagesWithReExecute

19.4.1 UseStatusCodePagesWithRedirects中间件说明

19.4.2 UseStatusCodePagesWithRedirects请求处理流程

19.4.3 使用UseStatusCodePagesWithReExecute请求处理流程

19.5 ASP.NET Core中的全局异常处理

19.5.1 ASP.NET Core中的UseDeveloperExceptionPage中间件

19.5.2 ASP.NET Core中的非开发环境异常信息

19.5.3 ASP.NET Core中的异常处理

19.5.4 调整Edit()方法中的错误视图

19.6 小结

第20章 ASP.NET Core中的日志记录

20.1 ASP.NET Core中的默认日志

运行ASP.NET Core应用程序

20.2 ASP.NET Core中的日志记录提供程序

20.2.1 ASP.NET Core内置日志记录提供程序

20.2.2 ASP.NET Core的第三方日志记录提供程序

20.2.3 ASP.NET Core中默认的日志记录提供程序

20.2.4 appsettings.json文件中的LogLevel

20.3 在ASP.NET Core中实现记录异常信息

20.3.1 Error和NotFound视图修改

20.3.2 在ASP.NET Core中记录异常信息

20.3.3 在ASP.NET Core中使用NLog记录信息到文件中

20.3.4 在ASP.NET Core中使用NLog

20.4 在ASP.NET Core中LogLevel配置及过滤日志信息

20.4.1 日志等级LogLevel枚举

20.4.2 ILogger方法

20.4.3 在ASP.NET Core中使用日志过滤

20.4.4 按日志类别(Log Category)和日志记录提供程序进行日志筛选

20.4.5 特定环境变量中appsettings.json文件的LogLevel配置

20.5 小结

第三部分

第21章 从零开始学ASP.NET Core Identity框架

21.1 ASP.NET Core Identity介绍

添加ASP.NET Core Identity服务

21.2 使用ASP.NET Core Identity注册新用户

21.2.1 RegisterViewModel视图模型

21.2.2 账户控制器

21.2.3 注册视图中的代码

21.2.4 添加注册按钮

21.3 UserManager和SignInManager服务

21.3.1 ASP.NET Core Identity中对密码复杂度的处理

21.3.2 ASP.NET Core Identity密码默认设置

21.3.3 覆盖ASP.NET Core身份中的密码默认设置

21.3.4 修改中文提示的错误信息

21.4 登录状态及注销功能的实现

21.5 ASP.NET Core Identity中的登录功能实现

21.5.1 LoginViewModel登录视图模型

21.5.2 登录视图的代码

21.5.3 AccountController中的Login()操作方法

21.5.4 会话Cookie与持久性Cookie

21.6 小结

第22章 授权与验证的关系

22.1 ASP.NET Core中的Authorize属性

22.1.1 Authorize属性示例

22.1.2 ASP.NET Core中的AllowAnonymous属性

22.1.3 全局应用Authorize属性

22.2 登录后重定向到指定URL

22.2.1 ASP.NET Core中的ReturnUrl

22.2.2 ReturnUrl查询字符串示例

22.2.3 登录后重定向到ReturnUrl

22.3 开放式重定向攻击

22.3.1 什么是开放式重定向漏洞

22.3.2 开放式重定向漏洞示例

22.4 ASP.NET Core中的客户端验证

22.4.1 服务器端验证示例

22.4.2 客户端验证

22.4.3 什么是客户端隐式验证

22.4.4 客户端验证如何在ASP.NET Core中工作

22.4.5 隐式验证在ASP.NET Core中失效

22.5 在ASP.NET Core中进行远程验证

22.5.1 远程验证示例

22.5.2 ASP.NET Core远程属性

22.5.3 ASP.NET Core Ajax失效

22.6 ASP.NET Core中的自定义验证属性

22.6.1 自定义验证属性示例

22.6.2 在ASP.NET Core中使用自定义验证属性

22.7 小结

第23章 角色管理与用户扩展

23.1 扩展IdentityUser类

23.1.1 修改AppDbContext中的参数

23.1.2 生成新迁移记录向AspNetUsers表中添加字段

23.1.3 在AspNetUsers表中保存自定义数据

23.1.4 AccountController类中Register()操作方法的修改

23.1.5 AllowAnonymous匿名属性的使用

23.2 ASP.NET Core中的角色管理

23.2.1 ASP.NET Core中的RoleManager

23.2.2 在AdminController中添加创建新角色的代码

23.2.3 创建角色视图模型

23.2.4 创建角色视图

23.3 在ASP.NET Core中显示所有角色列表

角色列表视图代码

23.4 编辑ASP.NET Core中的角色

23.4.1 编辑角色视图模型

23.4.2 编辑角色操作方法

23.4.3 编辑角色视图

23.5 角色管理中的用户关联关系

23.5.1 Identity中的AspNetUserRoles数据库表关联关系

23.5.2 EditUsersInRole的HttpGet操作方法

23.5.3 EditUsersInRole的HttpPost操作方法

23.5.4 EditUsersInRole视图

23.6 小结

第24章 角色授权与用户管理

24.1 基于角色的授权

24.1.1 授权属性的多个实例

24.1.2 基于角色授权的控制器操作方法

24.2 添加授权中间件UseAuthorization

24.3 在菜单栏上显示或隐藏管理

根据登录的用户角色显示或隐藏导航菜单

24.4 ASP.NET Core Identity中的拒绝访问功能

24.4.1 AccessDenied()操作方法

24.4.2 AccessDenied视图代码

24.5 获取Identity中的用户列表

24.5.1 UserManager服务的用户访问

24.5.2 ASP.NET Core列表用户视图

24.5.3 管理导航菜单

24.5.4 修改Register()方法

24.5.5 下拉菜单功能失效

24.6 编辑Identity中的用户

24.6.1 编辑用户视图

24.6.2 EditUser()的操作方法

24.6.3 EditUser视图文件

24.7 NotFound视图异常

统一404错误视图

24.8 Identity中删除的用户功能

24.8.1 使用GET请求删除数据

24.8.2 使用POST请求删除数据

24.8.3 DeleteUser()方法

24.9 ASP.NET Core中的确认删除功能

24.9.1 浏览器确认对话框

24.9.2 是和否删除按钮

24.9.3 将confirmDelete()方法添加到视图中

24.10 删除ASP.NET CoreIdentity中的角色

24.11 小结

第25章 EF Core中的数据完整性约束

25.1 EF Core中的数据完整性约束

AspNetUsers与AspNetRoles的关联关系

25.2 优化生产环境中的自定义错误视图

25.2.1 ErrorController类

25.2.2 优化Error.cshtml

25.3 小结

第26章 ASP.NET Core中的声明授权

26.1 Identity中的用户角色

26.1.1 视图模型

26.1.2 ManageUserRoles()方法

26.1.3 ManageUserRoles视图文件

26.2 启用MARS与模型绑定失效

26.2.1 为什么不使用foreach

26.2.2 for循环与foreach循环的异同点

26.3 声明授权

26.3.1 ClaimsStore与UserClaimsViewModel类

26.3.2 ManageUserClaims()操作方法

26.3.3 ManageUserClaims视图文件

26.4 小结

第27章 RBAC与CABC

27.1 RBAC

27.2 CBAC

27.3 角色与策略的结合

27.4 在MVC视图中进行角色与声明授权

27.5 AccessDenied视图的路由配置修改

27.6 策略授权中的ClaimType和ClaimValue

27.7 使用委托创建自定义策略授权

27.7.1 自定义复杂授权需求

27.7.2 自定义授权需求和处理程序

27.7.3 自定义需求的授权处理程序示例

27.7.4 多个自定义授权处理程序

27.8 小结

第28章 Identity的账户中心的设计

28.1 第三方登录身份提供商

28.1.1 第三方登录身份提供商如何在ASP.NET Core中工作

28.1.2 创建Azure OAuth凭据——客户端ID和客户端密钥

28.1.3 在ASP.NET Core中启用Microsoft身份验证

28.1.4 集成GitHub身份验证登录

28.2 用户机密

28.3 验证账户信息安全

28.3.1 验证电子邮箱的好处

28.3.2 阻止登录未验证的用户登录

28.3.3 电子邮箱确认令牌

28.3.4 第三方登录的电子邮箱确认令牌

28.3.5 激活用户邮箱

28.4 忘记密码功能

28.5 重置密码功能

28.6 小结

第29章 解析部分ASP.NET Core Identity源代码

29.1 解析ASP.NET Core Identity中Token的生成与验证

在ASP.NET Core中自定义令牌有效期

29.2 自定义令牌类型及令牌有效期

29.3 ASP.NET Core中Data Protection的加密和解密示例

29.4 在ASP.NET Core中添加更改密码功能

29.5 为第三方账户添加密码

29.6 ASP.NET Core中的账户锁定

29.7 小结

第四部分

第30章 架构

30.1 架构简介

30.2 学校管理系统架构设计

30.3 EntityFramework Core中的实体关系

30.4 当前架构

30.5 小结

第31章 仓储模式的最佳实践

31.1 泛型仓储的实现

31.2 异步编码与同步编码

31.3 IRepository接口的设计实现

31.4 RepositoryBase仓储代码的实现

31.5 小结

第32章 重构学生管理功能

32.1 修改HomeController中的代码

32.2 学生列表排序功能

32.3 模糊查询

32.4 一个简单分页的实现

32.5 小结

第33章 课程列表与分组统计功能

33.1 泛型分页

33.2 迁移数据信息

33.3 课程列表

33.4 分部视图

33.5 学生统计信息

33.6 Razor条件运行时编译

33.7 小结

第34章 复杂数据类型及自动依赖注入

34.1 创建相关实体信息

34.1.1 修改Course实体信息

34.1.2 创建学院与调整学生课程信息

34.2 更新数据库上下文及初始化内容

添加种子数据

34.3 服务之间的自动注册

NetCore.AutoRegisterDi服务

34.4 小结

第35章 课程与教师的CRUD

35.1 EF Core中预加载的使用

35.2 较为复杂的预加载的使用

35.3 编辑课程功能

35.3.1 编辑课程信息

35.3.2 课程信息的详情页

35.3.3 删除课程信息

35.4 编辑教师功能

35.4.1 添加教师信息

35.4.2 删除教师信息

35.5 优化目录结构

35.6 小结

第36章 处理并发冲突

36.1 并发冲突

36.1.1 悲观并发(悲观锁)

36.1.2 乐观并发(乐观锁)

36.2 添加Department的相关类

36.2.1 添加DepartmentsService

36.2.2 学院列表功能

36.2.3 添加详情视图

36.2.4 编辑学院信息功能

36.3 EF Core中的并发控制

测试并发异常

36.4 小结

第37章 EF Core中的继承与原生SQL语句使用

37.1 继承

37.1.1 实现TPH继承

37.1.2 执行数据库迁移

37.2 执行原生SQL语句

37.2.1 DbSet.FromSqlRaw的使用

37.2.2 Database.ExecuteSqlComma的使用

37.2.3 执行原生SQL语句实现更新

37.3 小结

第38章 EF Core中的数据加载与关系映射

38.1 EF Core中的数据加载

38.1.1 显式加载

38.1.2 延迟加载

38.1.3 3种加载形式的性能区别

38.2 Fluent API与数据注释

38.3 Entity Framework Core中的Code First关系映射约定

38.3.1 一对一关联关系

38.3.2 一对多关联关系

38.3.3 多对多关联关系

38.4 小结

第五部分

第39章 ASP.NET Core中的Web API

39.1 IoT与RESTful服务

RESTful的服务约束

39.2 添加Web API服务

39.3 安装Postman并调试Web API服务

39.3.1 测试POST请求

39.3.2 测试GET请求

39.3.3 测试PutTodoItem()方法

39.3.4 测试DeleteTodoItem()方法

39.3.5 404和400异常

39.4 图形可视化的Web API帮助页

39.4.1 Swagger/OpenAPI

39.4.2 Swashbuckle.AspNetCore入门

39.4.3 添加并配置Swagger中间件

39.4.4 获取swagger.json失败

39.4.5 调试Swagger UI

39.4.6 调用SwaggerGen API

39.5 小结

第40章 实践多层架构体系

40.1 领域驱动设计的分层结构

40.2 重构MockSchoolManagement项目

40.2.1 添加所需类库

40.2.2 添加依赖引用关系

40.3 迁移各类库

40.3.1 各个项目文件中的引用

40.3.2 类库效果图

40.3.3 多程序集的依赖注入

40.3.4 重新生成迁移记录及生成SQL脚本

40.4 小结

第41章 部署与发布

41.1 部署至IIS

41.1.1 IIS的安装和配置

41.1.2 安装ASP.NET Core托管模块

41.1.3 启用Web Deploy

41.1.4 创建IIS站点

41.1.5 使用Visual Studio将ASP.NET Core发布到IIS站点

41.2 部署至Ubuntu

41.2.1 Ubuntu中安装.NET Core

41.2.2 安装Nginx

41.2.3 编译与发布

41.3 在Docker中调试运行ASP.NET Core

41.3.1 安装Docker

41.3.2 添加Dockerfile文件

41.4 云原生Azure Web App

41.5 小结

第42章 ASP.NET Core 2.2到ASP. NET Core 3.1的迁移指南

42.1 升级至ASP.NET Core 3.1

42.1.1 修改项目启动

42.1.2 修改Startup

42.2 迁移升级后的看法

42.3 Visual Studio 2019插件推荐

42.4 小结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部