比如你要验证用户的时候判断一下这个用户名称在数据库是否已经存在了,这时候FluentValidation 就需要注入查询数据库 只需要注入一下就可以了 public class Login3RequestValidator : AbstractValidator<Login3Request> { public Login3RequestValidator(TestDbContext dbCtx) // 注意:这里只是为了演示.可注入单独某个 比如 UserDbCtx { RuleFor(x =…
在MVC中,AOP是很常用的功能,我们经常会使用如 ActionFilter,IAuthorizeFilter 等描述对Controller和Action进行约束和扩展,一般做法如下: public class TestActionFilterAttribute : Attribute, IActionFilter { public void OnActionExecuted(ActionExecutedContext context) { if (context.HttpContext.Req…
一.依赖注入 引入依赖注入的目的是为了解耦和.说白了就是面向接口编程,通过调用接口的方法,而不直接实例化对象去调用.这样做的好处就是如果添加了另一个种实现类,不需要修改之前代码,只需要修改注入的地方将实现类替换.上面的说的通过接口调用方法,实际上还是需要去实例化接口的实现类,只不过不需要我们手动new 构造实现类,而是交给如微软的DI.Autofac这些工具去构建实现类.我们只需要告诉它们,某个类是某个接口的实现类,当用到的时候,工具会自动通过构造函数实例化类. 二..Net Core中自带的D…
今天教大家如何在asp .net core 和 .net 控制台程序中 批量注入服务和 BackgroundService 后台服务 在默认的 .net 项目中如果我们注入一个服务或者后台服务,常规的做法如下 注册后台服务 builder.Services.AddHostedService<ClearLogTask>(); 针对继承自接口的服务进行注入: builder.Services.AddTransient<IOperationTransient, Operation>();…
在一个正常的项目中,登录注册的密码是密文传输到后台服务端的,也就是说,首先前端js对密码做处理,随后再传递到服务端,服务端解密再加密传出到数据库里面.Dotnet已经提供了RSA算法的加解密类库,我们只需要引用下就好,前端js也有对RSA算法的封装,解决了加解密算法之后,剩下的就是要确保公私钥的传输了,前端使用公钥加密,服务端使用私钥解密,如此才能成功,要不然会出问题.同时,在前端,我们可以首先使用bootstrapValidator来约束密码的类型,因为可能会遇到一些"+"什么的不能…
一.Forms认证 1.在webapi项目中启用Forms认证 Why:为什么要在WebAPI中使用Forms认证?因为其它项目使用的是Forms认证. What:什么是Forms认证?它在WebAPI中就是一个MessageHandle,具体请查找关键字“ASP.NET Forms” How:如何启动Forms认证? 最简单的是通过配置启动Forms认证: <system.web> <authentication mode="Forms"> <forms…
一.前言 从 18 年开始接触 .NET Core 开始,在私底下.工作中也开始慢慢从传统的 mvc 前后端一把梭,开始转向 web api + vue,之前自己有个半成品的 asp.net core 2.2 的项目模板,最近几个月的时间,私下除了学习 Angular 也在对这个模板基于 asp.net core 3.1 进行慢慢补齐功能 因为涉及到底层框架大版本升级,由于某些 breaking changes 必定会造成之前的某些写法没办法继续使用,趁着端午节假期,在改造模板时,发现没办法通过…
在上一篇文章:.NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一) 中,给大家初步介绍了一下FluentValidation验证组件的使用情况.文章从构建间的验证器开始,到最后的结果,以及复杂验证等都做了比较深入的讲解和使用.但其实一个完整的组件是麻雀虽小五脏俱全的,一篇文章还不能说明问题,对优秀的组件,我将分开尽量多一点的进行很完整的介绍.在查阅了官方提供的帮助文件中,还有一些组件内部以及个性化的东西,所以今天一起看看看这方面的内容. 为了保持内容的完整性,大…
mic: https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api webapi中推荐我们使用Dto来创建接受实体和输出实体,对于有些传入/请求的参数是有限制的,非空,电话等等,我们可以统一进行处理这些. 需要了解: webapi接受json参数:webapi 获取json数据 数据注解:Code First 二 Dat…
本文介绍如何在webapi中使用JWT验证 准备 安装JWT安装包 System.IdentityModel.Tokens.Jwt 你的前端api登录请求的方法,参考 axios.get("api/token?username=cuong&password=1").then(function (res) { // 返回一个token /* token示例如下 "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZ…