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

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