Admin.NET项目前端登录页面的验证码图片默认使用动态图,且图形内容为阿拉伯数字运算(如下图所示),用户输入正确的计算结果才能正常登录。项目采用LazyCaptcha模块生成验证码及动态图。
在Admin.NET.Core项目中添加了Lazy.Captcha.Core包。
然后在Admin.NET.Web.Core项目的Startup.cs文件的ConfigureServices函数中注入服务。
LazyCaptcha的参数配置采用文件方式配置,位于Admin.NET.Application项目的Configuration\ Captcha.json文件内,主要参数如下图所示:
调用LazyCaptcha生成和核验验证码主要在Admin.NET.Core项目的Service\Auth\SysAuthService.cs文件定义的SysAuthService类内,其中GetCaptcha函数用于向前端登录页面返回验证码标识及动态图,同时在Login函数验证登录信息过程中核对验证码结果。
除上述内容之外,在数据库表SysConfig中定义了参数sys_captcha设置是否启用图形验证码,默认为启用(暂时没有在配置文件中找到该参数,目前看应该是在数据库保存设置)。
参考文献:
[1]https://github.com/zuohuaijun/Admin.NET
[2]http://101.43.53.74:5050/introduce/
[3]https://github.com/pojianbing/LazyCaptcha