From e5bbf0b2986a0040339c81fd3a0343133dda1129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Wed, 1 Dec 2021 16:56:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=A0=81=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/System/SysConfigController.cs | 2 ++ .../Controllers/System/SysLoginController.cs | 27 ++++++++++++++++-- .../Business/IBusService/ISysConfigService.cs | 1 + ZR.Service/System/SysConfigService.cs | 5 ++++ ZR.Vue/src/utils/request.js | 2 +- ZR.Vue/src/views/login.vue | 8 ++++-- document/admin-mysql.sql | 4 +-- document/admin-sqlserver.sql | Bin 116298 -> 115836 bytes 8 files changed, 42 insertions(+), 7 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs index 6a48e29..3bd9a6a 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs @@ -17,6 +17,7 @@ using ZR.Common; using ZR.Service.System; using ZR.Model.System; using Infrastructure.Extensions; +using Microsoft.AspNetCore.Authorization; namespace ZR.Admin.WebApi.Controllers { @@ -83,6 +84,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("configKey/{configKey}")] + [AllowAnonymous] public IActionResult GetConfigKey(string configKey) { //TODO 增加缓存 diff --git a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs index 13cfd24..b76f953 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs @@ -15,6 +15,7 @@ using ZR.Model.System.Dto; using ZR.Service.System.IService; using Hei.Captcha; using ZR.Common; +using ZR.Service.System; namespace ZR.Admin.WebApi.Controllers.System { @@ -30,6 +31,7 @@ namespace ZR.Admin.WebApi.Controllers.System private readonly ISysLoginService sysLoginService; private readonly ISysPermissionService permissionService; private readonly SecurityCodeHelper SecurityCodeHelper; + private readonly ISysConfigService sysConfigService; public SysLoginController( IHttpContextAccessor contextAccessor, @@ -37,6 +39,7 @@ namespace ZR.Admin.WebApi.Controllers.System ISysUserService sysUserService, ISysLoginService sysLoginService, ISysPermissionService permissionService, + ISysConfigService configService, SecurityCodeHelper captcha) { httpContextAccessor = contextAccessor; @@ -45,6 +48,7 @@ namespace ZR.Admin.WebApi.Controllers.System this.sysUserService = sysUserService; this.sysLoginService = sysLoginService; this.permissionService = permissionService; + this.sysConfigService = configService; } @@ -60,7 +64,8 @@ namespace ZR.Admin.WebApi.Controllers.System { if (loginBody == null) { throw new CustomException("请求参数错误"); } loginBody.LoginIP = HttpContextExtension.GetClientUserIp(HttpContext); - if (CacheHelper.Get(loginBody.Uuid) is string str && !str.ToLower().Equals(loginBody.Code.ToLower())) + SysConfig sysConfig = sysConfigService.GetSysConfigByKey("sys.account.captchaOnOff"); + if (sysConfig?.ConfigValue != "off" && CacheHelper.Get(loginBody.Uuid) is string str && !str.ToLower().Equals(loginBody.Code.ToLower())) { throw new CustomException(ResultCode.CAPTCHA_ERROR, "验证码错误"); } @@ -136,8 +141,26 @@ namespace ZR.Admin.WebApi.Controllers.System public ApiResult CaptchaImage() { string uuid = Guid.NewGuid().ToString().Replace("-", ""); + + SysConfig sysConfig = sysConfigService.GetSysConfigByKey("sys.account.captchaOnOff"); var code = SecurityCodeHelper.GetRandomEnDigitalText(4); - var imgByte = SecurityCodeHelper.GetEnDigitalCodeByte(code); + byte[] imgByte; + if (sysConfig.ConfigValue == "1") + { + imgByte = SecurityCodeHelper.GetGifEnDigitalCodeByte(code);//动态gif数字字母 + } + else if (sysConfig.ConfigValue == "2") + { + imgByte = SecurityCodeHelper.GetGifBubbleCodeByte(code);//动态gif泡泡 + } + else if (sysConfig.ConfigValue == "3") + { + imgByte = SecurityCodeHelper.GetBubbleCodeByte(code);//泡泡 + } + else + { + imgByte = SecurityCodeHelper.GetEnDigitalCodeByte(code);//英文字母加数字 + } string base64Str = Convert.ToBase64String(imgByte); CacheHelper.SetCache(uuid, code); var obj = new { uuid, img = base64Str };// File(stream, "image/png") diff --git a/ZR.Service/Business/IBusService/ISysConfigService.cs b/ZR.Service/Business/IBusService/ISysConfigService.cs index 182b403..a8c68f8 100644 --- a/ZR.Service/Business/IBusService/ISysConfigService.cs +++ b/ZR.Service/Business/IBusService/ISysConfigService.cs @@ -12,5 +12,6 @@ namespace ZR.Service.System /// public interface ISysConfigService: IBaseService { + SysConfig GetSysConfigByKey(string key); } } diff --git a/ZR.Service/System/SysConfigService.cs b/ZR.Service/System/SysConfigService.cs index b477dda..9b2f8a5 100644 --- a/ZR.Service/System/SysConfigService.cs +++ b/ZR.Service/System/SysConfigService.cs @@ -18,6 +18,11 @@ namespace ZR.Service.System #region 业务逻辑代码 + public SysConfig GetSysConfigByKey(string key) + { + return _SysConfigrepository.Queryable().First(f => f.ConfigKey == key); + } + #endregion } } \ No newline at end of file diff --git a/ZR.Vue/src/utils/request.js b/ZR.Vue/src/utils/request.js index 53a54de..85dd568 100644 --- a/ZR.Vue/src/utils/request.js +++ b/ZR.Vue/src/utils/request.js @@ -54,7 +54,7 @@ service.interceptors.response.use(res => { } ).then(() => { store.dispatch('LogOut').then(() => { - location.href = process.env.VUE_APP_ROUTER_PREFIX + '/index'; + location.href = '/index'; }) }) diff --git a/ZR.Vue/src/views/login.vue b/ZR.Vue/src/views/login.vue index edfe6bc..86c89b3 100644 --- a/ZR.Vue/src/views/login.vue +++ b/ZR.Vue/src/views/login.vue @@ -12,7 +12,7 @@ - + @@ -38,7 +38,7 @@