<develop>:(ShopERP 端)<无> 找回密码之后,发送验证码时,要保存到 Redis 缓存中,根据缓存时间,判断验证码是否失效。

parent 8df1f824
...@@ -400,4 +400,10 @@ ...@@ -400,4 +400,10 @@
} }
public static class RedisCacheKey
{
public const string ForgetPasswordCacheKey = "ForgetPasswordValidCode_";
}
} }
...@@ -8,6 +8,7 @@ using System.Security.Claims; ...@@ -8,6 +8,7 @@ using System.Security.Claims;
using System.Threading.Tasks; using System.Threading.Tasks;
using CoreCms.Net.Auth.OverWrite; using CoreCms.Net.Auth.OverWrite;
using CoreCms.Net.Auth.Policys; using CoreCms.Net.Auth.Policys;
using CoreCms.Net.Caching.AutoMate.RedisCache;
using CoreCms.Net.Configuration; using CoreCms.Net.Configuration;
using CoreCms.Net.IRepository; using CoreCms.Net.IRepository;
using CoreCms.Net.IServices; using CoreCms.Net.IServices;
...@@ -42,6 +43,8 @@ namespace CoreCms.Net.Web.Admin.Controllers ...@@ -42,6 +43,8 @@ namespace CoreCms.Net.Web.Admin.Controllers
private readonly ISysRoleMenuServices _sysRoleMenuServices; private readonly ISysRoleMenuServices _sysRoleMenuServices;
private readonly ISysLoginRecordRepository _sysLoginRecordRepository; private readonly ISysLoginRecordRepository _sysLoginRecordRepository;
private readonly ICoreCmsUserServices _coreCmsUserServices; private readonly ICoreCmsUserServices _coreCmsUserServices;
private readonly IRedisOperationRepository _redisOperationRepository;//Redis 操作
private readonly EmailSenderHelper _emailSender;//发邮件的服务 private readonly EmailSenderHelper _emailSender;//发邮件的服务
#region 构造函数注入 #region 构造函数注入
...@@ -55,6 +58,7 @@ namespace CoreCms.Net.Web.Admin.Controllers ...@@ -55,6 +58,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
, ISysRoleMenuServices sysRoleMenuServices , ISysRoleMenuServices sysRoleMenuServices
, IHttpContextAccessor httpContextAccessor , IHttpContextAccessor httpContextAccessor
, ISysLoginRecordRepository sysLoginRecordRepository , ISysLoginRecordRepository sysLoginRecordRepository
, IRedisOperationRepository redisOperationRepository
, EmailSenderHelper emailSender , EmailSenderHelper emailSender
) )
{ {
...@@ -64,6 +68,8 @@ namespace CoreCms.Net.Web.Admin.Controllers ...@@ -64,6 +68,8 @@ namespace CoreCms.Net.Web.Admin.Controllers
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_sysLoginRecordRepository = sysLoginRecordRepository; _sysLoginRecordRepository = sysLoginRecordRepository;
_coreCmsUserServices = coreCmsUserServices; _coreCmsUserServices = coreCmsUserServices;
_redisOperationRepository = redisOperationRepository;//Redis 操作类,通过构造函数注入来初始化
_emailSender = emailSender; _emailSender = emailSender;
} }
#endregion #endregion
...@@ -322,6 +328,10 @@ namespace CoreCms.Net.Web.Admin.Controllers ...@@ -322,6 +328,10 @@ namespace CoreCms.Net.Web.Admin.Controllers
SendVerificationEmailAsync(param.userEmail, codeNumber.ToString()); SendVerificationEmailAsync(param.userEmail, codeNumber.ToString());
string strCacheKey = RedisCacheKey.ForgetPasswordCacheKey + param.userName;
await _redisOperationRepository.Set(strCacheKey, codeNumber, TimeSpan.FromMinutes(10));
var bl = true; var bl = true;
jm.code = bl ? 0 : 1; jm.code = bl ? 0 : 1;
jm.msg = bl ? GlobalConstVars.SendEmailSuccess : GlobalConstVars.SendEmailFailure; jm.msg = bl ? GlobalConstVars.SendEmailSuccess : GlobalConstVars.SendEmailFailure;
...@@ -358,7 +368,7 @@ namespace CoreCms.Net.Web.Admin.Controllers ...@@ -358,7 +368,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
<p>您的验证码是:<strong style="font-size: 24px; letter-spacing: 2px;"> <p>您的验证码是:<strong style="font-size: 24px; letter-spacing: 2px;">
{verificationCode} {verificationCode}
</strong></p> </strong></p>
<p>验证码将在30分钟后失效,请尽快使用。</p> <p>验证码将在10分钟后失效,请尽快使用。</p>
<hr style="border: 0; border-top: 1px solid #eee;"> <hr style="border: 0; border-top: 1px solid #eee;">
<p style="color: #999; font-size: 12px;">此为系统邮件,请勿直接回复</p> <p style="color: #999; font-size: 12px;">此为系统邮件,请勿直接回复</p>
</div> </div>
......
...@@ -530,7 +530,7 @@ ...@@ -530,7 +530,7 @@
用户授权登录 用户授权登录
</summary> </summary>
</member> </member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.LoginController.#ctor(CoreCms.Net.Auth.Policys.PermissionRequirement,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ISysUserServices,CoreCms.Net.IServices.ISysRoleMenuServices,Microsoft.AspNetCore.Http.IHttpContextAccessor,CoreCms.Net.IRepository.ISysLoginRecordRepository,CoreCms.Net.Utility.Helper.EmailSenderHelper)"> <member name="M:CoreCms.Net.Web.Admin.Controllers.LoginController.#ctor(CoreCms.Net.Auth.Policys.PermissionRequirement,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ISysUserServices,CoreCms.Net.IServices.ISysRoleMenuServices,Microsoft.AspNetCore.Http.IHttpContextAccessor,CoreCms.Net.IRepository.ISysLoginRecordRepository,CoreCms.Net.Caching.AutoMate.RedisCache.IRedisOperationRepository,CoreCms.Net.Utility.Helper.EmailSenderHelper)">
<summary> <summary>
构造函数注入 构造函数注入
</summary> </summary>
......
...@@ -530,7 +530,7 @@ ...@@ -530,7 +530,7 @@
用户授权登录 用户授权登录
</summary> </summary>
</member> </member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.LoginController.#ctor(CoreCms.Net.Auth.Policys.PermissionRequirement,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ISysUserServices,CoreCms.Net.IServices.ISysRoleMenuServices,Microsoft.AspNetCore.Http.IHttpContextAccessor,CoreCms.Net.IRepository.ISysLoginRecordRepository,CoreCms.Net.Utility.Helper.EmailSenderHelper)"> <member name="M:CoreCms.Net.Web.Admin.Controllers.LoginController.#ctor(CoreCms.Net.Auth.Policys.PermissionRequirement,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ISysUserServices,CoreCms.Net.IServices.ISysRoleMenuServices,Microsoft.AspNetCore.Http.IHttpContextAccessor,CoreCms.Net.IRepository.ISysLoginRecordRepository,CoreCms.Net.Caching.AutoMate.RedisCache.IRedisOperationRepository,CoreCms.Net.Utility.Helper.EmailSenderHelper)">
<summary> <summary>
构造函数注入 构造函数注入
</summary> </summary>
......
...@@ -84,23 +84,17 @@ ...@@ -84,23 +84,17 @@
$('#btnSendValidCode').on('click', function () { $('#btnSendValidCode').on('click', function () {
layer.msg("哈哈哈哈");
//用户工号 //用户工号
var strUserName = $("#userName").val(); var strUserName = $("#userName").val();
//发送验证码功能 //发送验证码功能
var strUserEmail = $("#email").val(); var strUserEmail = $("#email").val();
layer.msg("22"); // 如果没有错误,则验证通过
var errorEmail = form.validate($("#email"));
//// 如果没有错误,则验证通过 if (errorEmail) {
//var errorEmail = form.validate($("#email")); return; // 验证不通过,自动显示错误信息
//if (errorEmail) { }
// return; // 验证不通过,自动显示错误信息
//}
layer.msg("33");
//提交 Ajax 到后台 (判断工号 与 邮箱是否匹配) //提交 Ajax 到后台 (判断工号 与 邮箱是否匹配)
coreHelper.Post("api/login/DoSendValidCode", { userName: strUserName, userEmail: strUserEmail }, function (e) { coreHelper.Post("api/login/DoSendValidCode", { userName: strUserName, userEmail: strUserEmail }, function (e) {
...@@ -114,9 +108,6 @@ ...@@ -114,9 +108,6 @@
}); });
}) })
}; };
</script> </script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment