Admin.NET源码学习(3:LazyCaptcha使用浅析)
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
相关文章:
Admin.NET源码学习(3:LazyCaptcha使用浅析)
Admin.NET项目前端登录页面的验证码图片默认使用动态图,且图形内容为阿拉伯数字运算(如下图所示),用户输入正确的计算结果才能正常登录。项目采用LazyCaptcha模块生成验证码及动态图。 在Admin.NET.Core项目中添加了Lazy.Cap…...
在原生未启用kdump的BCLinux 8系列服务器上启用kdump及报错处理
本文记录了在原生未启用kdump的BCLinux 8系列操作系统的服务器上手动启用kdump服务及报错处理的过程。 一、问题描述 BCLinux 8系列操作系统,系统初始化安装时未启用kdump服务,手动启动时报以下“No memory reserved for crash kernel”或“ConditionK…...
Android架构组件中的MVVM
Android架构组件中的MVVM(Model-View-ViewModel)模式是一种广泛应用的设计模式,它通过将应用程序分为三个主要部分(Model、View、ViewModel)来分离用户界面和业务逻辑,从而提高代码的可维护性、可扩展性和可…...
走向绿色:能源新选择,未来更美好
当前,全球范围内可再生能源正经历着从辅助能源向核心能源的深刻转型,绿色能源日益渗透至居住、出行、日常应用等多个领域,深刻影响着我们的生活方式,使我们能够更加充分地体验清洁能源所带来的优质生活。 一、绿色能源与“住” …...
鸿蒙装饰器的介绍
State装饰器, State装饰的变量,称为状态变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时,必须指定其类型和本地初始化。 Provide装饰器和Consume装饰器&#…...
零基础5分钟上手亚马逊云科技核心云架构知识 - 权限管理最佳实践
简介: 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列,适用于任何无云计算或者亚马逊云科技技术背景的开发者,通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…...
[数据库][知识]SQL Server、MySQL 和 Oracle 的默认端口和数据库链接
SQL Server、MySQL 和 Oracle 的默认端口号、连接 URL 和驱动类名。以下是对每个数据库连接信息的简要说明: SQL Server 默认端口号:1433JDBC URL 格式:jdbc:sqlserver://localhost:1433;DatabaseNamedbnameJDBC 驱动类名:com.mic…...
【Unity教程】使用 Animation Rigging实现IK制作程序化的动画
在 Unity 开发中,为角色创建逼真且自适应的动画是提升游戏体验的关键。在本教程中,我们将结合 Animation Rigging 工具和 IK(Inverse Kinematics,反向运动学)插件来实现程序化的动画。 视频教程可以参考b战大佬的视频 …...
OBS混音器(Mixers)的重要性和配置指南
在进行直播或录制时,音频管理是非常关键的一环,特别是在需要同时处理多个音频源的复杂设置中。OBS Studio提供了强大的音频管理工具,其中“混音器”功能扮演了核心角色。混音器(Mixers)在OBS中用于控制不同音频源的输出路由,允许用户精确控制哪些音源出现在最终的直播或录…...
Ubuntu安装Anaconda3
本文详细阐述了在 Ubuntu 系统中安装 Anaconda3 的完整流程。包括 Anaconda3 安装包的获取途径,具体安装过程中的每一个步骤及注意事项,还有安装后的环境变量设置和安装成功的验证方法。旨在为 Ubuntu 用户提供清晰、易懂且准确的 Anaconda3 安装指南&am…...
数据类型解码:INT、VARCHAR、DATETIME的深度解析与实践
标题:数据类型解码:INT、VARCHAR、DATETIME的深度解析与实践 在软件开发和数据库设计中,数据类型是构建数据模型的基础。准确理解和使用数据类型,如INT、VARCHAR、DATETIME,对于确保数据的完整性、性能和安全性至关重…...
基于单片机的智能晾衣系统设计
摘 要 :在网络信息技术的推动下,智能家居得到了广泛应用,文章根据当前的市场动态,针对基于单片机的智能晾衣系统设计展开论述,具体包括两个方面的内容———硬件设计和软件设计。 关键词 :单片机ÿ…...
Python实战项目:天气数据爬取+数据可视化(完整代码)
一、选题的背景 随着人们对天气的关注逐渐增加,天气预报数据的获取与可视化成为了当今的热门话题,天气预报我们每天都会关注,天气情况会影响到我们日常的增减衣物、出行安排等。每天的气温、相对湿度、降水量以及风向风速是关注的焦点。通过…...
知识改变命运 数据结构【链表面试题】
1. 删除链表中等于给定值 val 的所有节点。 OJ链接 public ListNode removeElements(ListNode head, int val) {if (headnull) {return null;}ListNode curhead.next;ListNode prehead;while(cur!null) {if(cur.valval) {pre.nextcur.next;curcur.next;}else {precur;curcur.ne…...
计算机毕业设计 医院问诊系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
掌握CSS的:any-link伪类:统一链接样式的高效方法
在网页设计中,链接是用户导航和交互的重要组成部分。CSS提供了多种伪类选择器来定义链接的不同状态,例如:link用于选择未访问的链接,:visited用于选择已访问的链接。然而,有时候我们需要同时为所有状态的链接设置统一的样式&#…...
虚幻5|角色武器装备的数据库学习(不只是用来装备武器,甚至是角色切换也很可能用到)
虚幻5|在连招基础上,给角色添加武器并添加刀光|在攻击的时候添加武器并返回背后(第一部分,下一部分讲刀光)_unreal 如何给角色添加攻击-CSDN博客 目的:捡起各种不同的武器,捡起的武器跟装备的武器相匹配 …...
防火墙技术与地址转换
文章目录 前言一、四种区域二、实验拓扑图基础配置防火墙配置测试结果 前言 防火墙是计算机网络中的一种安全设备或软件功能,旨在监控和控制进出网络的网络流量。其核心目的是保护内部网络免受外部攻击或不必要的访问。防火墙通过设定一系列安全规则,允…...
C++11中的Lambda表达式
文章目录 C11中的Lambda表达式1.lambda表达式形式2.向lambda传递参数3.使用捕获列表4.lambda捕获和返回1.值捕获2.引用捕获3.隐式捕获4.可变lambda5.指定lambda的返回类型 C11中的Lambda表达式 1.lambda表达式形式 lambda表达式具有以下形式 [capture list] (parameter list)…...
Unity图形系统
Unity的图形系统是一个复杂且功能强大的模块,它支持多种渲染技术和API,能够满足从移动设备到高端游戏机和桌面平台的各种需求。以下是关于Unity图形系统的详细解析: 渲染流程与技术 Unity的渲染流程可以分为应用程序阶段(CPU&…...
大功率充电桩生产厂家:高效能产品的选择与评估标准
一、行业背景与权威数据据中国电动汽车充电基础设施促进联盟(EVCIPA)数据显示,截至2026年2月底,我国电动汽车充电基础设施(枪)总数达到2101.0万个,同比增长47.8%。其中,公共充电设施…...
浏览器扩展开发实战:光标交互防火墙的设计与实现
1. 项目概述与核心价值最近在折腾浏览器插件开发,偶然在GitHub上看到了一个名为“Raidu Firewall Cursor Extension”的项目。光看这个名字,就让我这个对网络安全和效率工具都感兴趣的老码农眼前一亮。这玩意儿本质上是一个浏览器扩展,但它把…...
AGV中上位机
在 AGV 系统里,“上位机”一般就是调度/监控系统,负责:全局任务分配、路径规划、交通管制、与 MES/WMS 对接、人机界面等;车上的 PLC / 控制器则作为下位机,负责实时运动控制、传感器采集和执行指令。两者通过以太网 /…...
PCB线宽与电流关系详解:从原理到设计避坑指南
1. 项目概述:从一次烧板事故说起去年,我手头一个给电机驱动的小板子又冒烟了。排查了半天,发现不是芯片烧了,也不是电源接反了,问题出在一条给电机供电的电源走线上。那条线在板子上看着挺“粗壮”,但实际一…...
嘎嘎降AI和笔灵AI哪个更适合毕业论文:2026年达标率改写质量售后完整测评对比报告
嘎嘎降AI和笔灵AI哪个更适合毕业论文:2026年达标率改写质量售后完整测评对比报告 帮几个不同专业的同学处理过论文AI率,用过的工具加起来也有六七款了。 综合看,嘎嘎降AI(www.aigcleaner.com)是最稳的选择࿰…...
【UEFI实战】GOP协议详解:从模式查询到像素操作
1. GOP协议基础:UEFI图形显示的核心机制 第一次接触UEFI图形编程时,我被屏幕上突然出现的红色进度条震撼到了——原来在系统启动的早期阶段就能实现图形化显示。这背后的关键就是EFI_GRAPHICS_OUTPUT_PROTOCOL(简称GOP)࿰…...
独立开发者如何借助Taotoken的Token Plan有效控制月度AI支出
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何借助Taotoken的Token Plan有效控制月度AI支出 对于独立开发者和小型团队而言,大模型API的调用成本是一个…...
模型服务化部署:用vLLM/Ollama搭建高并发API,支持流式输出与多轮对话
系列导读 你现在看到的是《本地大模型私有化部署与优化:从入门到生产级实战》的第 3/10 篇,当前这篇会重点解决:让你的本地模型像ChatGPT一样提供稳定API,支持真实业务场景的并发请求。 上一篇回顾:第 2 篇《模型下载与转换实战:从HuggingFace到GGUF/SafeTensors,格式…...
NoSleep:告别Windows意外休眠的终极解决方案,让你的电脑始终保持清醒状态
NoSleep:告别Windows意外休眠的终极解决方案,让你的电脑始终保持清醒状态 【免费下载链接】NoSleep Lightweight Windows utility to prevent screen locking 项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep 你是否经历过视频会议演示到一…...
macOS开发环境标准化实践:基于Homebrew的CUR环境构建
1. 项目概述与核心价值最近在折腾macOS开发环境,尤其是涉及到一些需要特定编译工具链的项目时,经常被各种依赖和版本问题搞得焦头烂额。相信很多从Linux或Windows转过来的开发者都有同感,macOS虽然优雅,但在某些底层开发工具的生态…...
