作软件,遇到一些通用性的功能,我想绝大多数同窗都是去网上(或本身以前的项目中)搜一段代码出来,贴到项目中,修修改改,完成任务。前端
但身为一个有追求的软件工程师,怎么能一直忍受这种低级的操做呢?插件化,模块化才是正确的选择。jquery
一直想作些事情,作些能让软件开发成为快乐的事情,这段时间比较悠闲(求职中...),因而整理了两个图形验证模块,但愿对你们的平常开发工做有所帮助。linux
但愿我作的事情能让你的开发工做变得些许轻松,之后还会继续开源一些基础组件,努力让软件开发成为快乐的事情,让天下没有难写的代码。git
项目地址:github
1.图形校验码生成,校验模块。docker
项目地址:https://github.com/sonosun/EasyVerificationCode数据库
2.滑图校验,拼图校验,生成,校验模块。windows
项目地址:https://github.com/sonosun/EasySlideVerification缓存
介绍一下功能及特色:分布式
1.体现了.net core 模块化,插件化开发方式,实现所谓“高内聚”,“低耦合”。
2.充分利用.net core IOC机制,符合面向接口开发原则,可实现功能灵活扩展。
3.数据存储,支持本地内存缓存和Redis分布式缓存(分布式系统必备),若是有须要,还能够根据接口,扩展本身的存储方式,好比数据库存储。
4.多运行时支持,在一个模块中,根据不一样的目标运行时,引用不一样的依赖版本,确保每一个运行时下的依赖库,都是最新版本。
5.多环境部署,支持windows,linux,docker部署(其中linux和docker部署时遇到的问题有详细解决方案)。
6.两个项目都已经打包提交到了nuget,能够直接从包管理器中添加依赖,开发使用极其方便。
7.完善的前端支持,提供了VUE前端组件和基于jquery的js类库,方便前端接入。
8.比较完整的使用说明及演示Demo。
下面是示例截图:
1.图形校验码生成,校验模块。
2.滑图校验,拼图校验,生成,校验模块。
为何是验证码?
1.由于简单,毕竟是本身的第一个开源项目。
2.由于具体通用性,彻底不依赖于业务,适用于任何业务场景。
3.由于图形校验功能也几乎是每一个有防范意识的项目的标配。