登陆和注册之前,需要封装

前端参数的校验,ajax的封装


参数校验,创建公共的类 ,它是一个静态类

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_02
这样在调用的时候,直接一句话就可以了,这就是封装的好处
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_03

空字符串的校验

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_04
调用方式
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_05
EF的源码里面有这么一个Check的类。这个地方也是参考的才写出来的。这个地方直接复制写好的Check.cs类过来
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_06
操作结果的封装。OperateResult
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_07
14分53秒
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_08

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_09

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_10
再加一个泛型的返回
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_11
再加一个successed的泛型返回
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_12
操作结果要么是成功,要么是失败
如果说用户名为空了。我们接可以这么去返回了
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_13

PagedResult

新建类PageResult
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_14

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_15

IdentityServer4登陆

注入UserManager
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_16
对参数进行校验
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_17
判断用户名是否存在,如果不存在直接返回了OperateResult.Failed
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_18
我们添加了Disabled的属性,来判断用户的账号禁用状态
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_19

再注入SignInManager,主要是用来用户登陆和注册的
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_20

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_21
这里进行参数的配置,也就是用户名和密码的配置
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_22
输入三次就锁定,锁定3分钟
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_23
密码的一些配置,
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_24
讲解锁定的逻辑。
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_25
在注册的时候LockoutEnabled默认就是为True的
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_26


ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_27

注册的方法
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_28
程序运行起来并去注册
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_29

异常处理过滤器

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_30

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_31

ConferenceCourse.Core下创建ApiException的类
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_32

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_33

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_34
这样Check类里面就用ApiException
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_35
Filter添加到StartUp里面
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_36

运行程序,注册,用户名这里断点,设置为空的用户名
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_37
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_38
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_39

密码必须要包含,非字母或者数字的,这里设置为false。
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_封装_40

输入密码错误错误后,这里次数就会加1,没有达到三次LockoutEnd现在还没有被设置为True
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_41
输入次数为3的时候,LockoutEnabled就会被设置为true。LockoutEnd就是锁定的国企时间

ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_用户名_42


ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_泛型_43

用中文注册
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_44
无效的用户名
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_45
用户名仅仅只能包含字母或者数字。不能包含中文名
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_ajax_46

如果想要中文名注册的这种需求
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_47
设置设置为null就可以了。就可以使用中文名进行注册
ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置_asp.net core_48