diff --git a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs index 0dbbf77c..90cd54b2 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs @@ -155,7 +155,24 @@ namespace ZR.Admin.WebApi.Controllers.System SysConfig sysConfig = sysConfigService.GetSysConfigByKey("sys.account.captchaOnOff"); var captchaOff = sysConfig?.ConfigValue ?? "0"; - var code = SecurityCodeHelper.GetRandomEnDigitalText(4); + var length = AppSettings.GetAppConfig("CaptchaOptions:length", 4); + var code = SecurityCodeHelper.GetRandomEnDigitalText(length); + byte[] imgByte = GenerateCaptcha(captchaOff, code); + string base64Str = Convert.ToBase64String(imgByte); + CacheHelper.SetCache(uuid, code); + var obj = new { uuid, img = base64Str };// File(stream, "image/png") + + return ToJson(1, obj); + } + + /// + /// 生成图片验证码 + /// + /// + /// + /// + private byte[] GenerateCaptcha(string captchaOff, string code) + { byte[] imgByte; if (captchaOff == "1") { @@ -173,11 +190,8 @@ namespace ZR.Admin.WebApi.Controllers.System { imgByte = SecurityCodeHelper.GetEnDigitalCodeByte(code);//英文字母加数字 } - string base64Str = Convert.ToBase64String(imgByte); - CacheHelper.SetCache(uuid, code); - var obj = new { uuid, img = base64Str };// File(stream, "image/png") - return ToJson(1, obj); + return imgByte; } /// diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 503582b1..0d35c857 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -24,7 +24,7 @@ "uploadUrl": "http://localhost:8888", //本地存储资源访问路径 "localSavePath": "uploads", //本地上传默认文件存储目录 wwwroot/uploads "maxSize": 15, //上传文件大小限制 15M - "notAllowedExt": [ ".bat", ".exe", ".jar", ".js"] + "notAllowedExt": [ ".bat", ".exe", ".jar", ".js" ] }, //阿里云存储配置 "ALIYUN_OSS": { @@ -105,5 +105,9 @@ "IpRules": [ ] } + }, + //验证码配置 + "CaptchaOptions": { + "length": 4 } }