欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用.Net Core 2.1开发Captcha图片验证码服务

程序员文章站 2022-03-28 12:19:26
使用.Net Core 2.1开发Captcha验证码服务 开发工具:Visual Studio 2017 15.7.3 开发平台:64位 Windows 10 目标框架:.NET Core 2.1 完成度:已实现 Github地址: "https://github.com/PuzzledAlien ......

使用.Net Core 2.1开发Captcha验证码服务

开发工具:Visual Studio 2017 15.7.3
开发平台:64位 Windows 10
目标框架:.NET Core 2.1
完成度:已实现
Github地址:

准备开发环境,新建项目

安装SDK
打开下载页面
下载对应的SDK,当前版本是2.1 SDK (v2.1.300)
从名字能看出来微软更快迭代更新的想法。下载之后正确安装。这样保证新建项目时可选ASP.NET Core Web应用程序。
使用.Net Core 2.1开发Captcha图片验证码服务
使用.Net Core 2.1开发Captcha图片验证码服务
使用API模块足以。默认是配置HTTPS,先保持默认不变,看下https怎么配置。点击确定,稍等几秒钟创建项目完成。
使用.Net Core 2.1开发Captcha图片验证码服务
查看解决方案资源管理器,发现目录结构异常简洁。先不做任何处理,直接Debug,弹出提示(此项目已配置使用SSL)如下图。
使用.Net Core 2.1开发Captcha图片验证码服务
上述截图中sslPort是44303,取消配置HTTPS的方法是将sslPort的值改为0。修改之后就不会走https了,简单明了的逻辑,就问你服不服?!

设计接口

计划两个接口,一个是获取验证码的接口,一个是验证接口。
图片验证码首先是个图片(纯废话),少不了使用一个很流行的绘图API System.Drawing。但是.NET Core平台用不了System.Drawing。代替方案有

  1. zkweb大牛移植修改mono的System.Drawing。来自博客园的文章推荐
  2. 微软官方出的API实现 System.Drawing.Common。来自的文章推荐

我选择了微软官方的实现System.Drawing.Common,更新迭代有保障。github可看源码,地址

不具体写代码逻辑,可详细看Github,自认写的还算结构清晰明了。

部署Windows,IIS+.NET Core 2.1

参考微软官方出版中文文档,微软对中文开发者的友好度越来越高了。

环境准备:安装.NET Core 2.1 SDK
根据文章 提到的最小模块配置

要求运行 ASP.NET Core 应用的模块只有匿名身份验证模块和 ASP.NET Core 模块。

源代码可查看Github
打开IIS管理器,点击“模块”,之后点击“打开功能”,查看所有模块,发现缺少ASP.NET Core 模块。
使用.Net Core 2.1开发Captcha图片验证码服务
使用.Net Core 2.1开发Captcha图片验证码服务
使用.Net Core 2.1开发Captcha图片验证码服务

提到如何安装该模块。
打开
使用.Net Core 2.1开发Captcha图片验证码服务
点击Runtime,
使用.Net Core 2.1开发Captcha图片验证码服务
下载安装。
准备工作搞定。
的步骤精简写,如下:

  1. 发布到目标机器
  2. 如果没有安装IIS,安装IIS
  3. 新建站点
  4. 站点对应的应用程序池基本设置中选择“无托管代码”
  5. 尝试访问

测试页面如下图,尝试访问:
使用.Net Core 2.1开发Captcha图片验证码服务

完工!!