Exemple #1
0
        public string SendMessageOnFindPassWord(string destination, MessageUserInfo info)
        {
            var config = EmailCore.GetMessageContentConfig();
            var text   = config.FindPassWord.Replace("#userName#", info.UserName).Replace("#checkCode#", info.CheckCode).Replace("#siteName#", info.SiteName);

            SendMessage(destination, info.SiteName + "找回密码验证", text);
            return(text);
        }
Exemple #2
0
        public string SendMessageCode(string destination, MessageUserInfo info)
        {
            MessageContent messageContentConfig = SMSCore.GetMessageContentConfig();
            string         str = messageContentConfig.Bind.Replace("#userName#", info.UserName).Replace("#checkCode#", info.CheckCode).Replace("#siteName#", info.SiteName);

            SendMessage(destination, str, "2");
            return(str);
        }
Exemple #3
0
        public string SendMessageOnFindPassWord(string destination, MessageUserInfo info)
        {
            MessageContent messageContentConfig = EmailCore.GetMessageContentConfig();
            string         str = messageContentConfig.FindPassWord.Replace("#userName#", info.UserName).Replace("#checkCode#", info.CheckCode).Replace("#siteName#", info.SiteName);

            SendMessage(destination, string.Concat(info.SiteName, "找回密码验证"), str, false);
            return(str);
        }
        public JsonResult SendCode(string pluginId, string destination)
        {
            //ServiceHelper.Create<IMemberService>().CheckContactInfoHasBeenUsed(pluginId, destination, MemberContactsInfo.UserTypes.General);
            if (ServiceHelper.Create <IMemberService>().CheckEmailExist(destination))
            {
                Result result0 = new Result()
                {
                    success = false,
                    msg     = "Email has been bind"
                };
                return(Json(result0));
            }

            if (Cache.Get(CacheKeyCollection.MemberPluginCheckTime(destination, pluginId)) != null)
            {
                Result result = new Result()
                {
                    success = false,
                    msg     = "Only allowed to request once in 120 seconds,Please wait and try it again!"
                };
                return(Json(result));
            }
            int      num      = (new Random()).Next(10000, 99999);
            DateTime dateTime = DateTime.Now.AddMinutes(15);

            if (pluginId.ToLower().Contains("email"))
            {
                dateTime = DateTime.Now.AddHours(24);
            }
            Cache.Insert(CacheKeyCollection.MemberPluginCheck(destination, pluginId), num, dateTime);
            MessageUserInfo messageUserInfo = new MessageUserInfo()
            {
                UserName  = "",
                SiteName  = base.CurrentSiteSetting.SiteName,
                CheckCode = num.ToString()
            };

            ServiceHelper.Create <IMessageService>().SendMessageCode(destination, pluginId, messageUserInfo);
            string   str = CacheKeyCollection.MemberPluginCheckTime(destination, pluginId);
            DateTime now = DateTime.Now;

            Cache.Insert(str, "0", now.AddSeconds(110));
            Result result1 = new Result()
            {
                success = true,
                msg     = "Send Success"
            };

            return(Json(result1));
        }
Exemple #5
0
        public ActionResult ChangePassWord(string passWord, string key)
        {
            var member = Core.Cache.Get <UserMemberInfo>(key + "3");

            if (member == null)
            {
                return(Json(new { success = false, flag = -1, msg = "验证超时" }));
            }
            var userId = member.Id;

            _iMemberService.ChangePassword(userId, passWord);
            MessageUserInfo info = new MessageUserInfo();

            info.SiteName = CurrentSiteSetting.SiteName;
            info.UserName = member.UserName;
            Task.Factory.StartNew(() => _iMessageService.SendMessageOnFindPassWord(userId, info));
            return(Json(new { success = true, flag = 1, msg = "成功找回密码" }));
        }
        public JsonResult SendCode(string pluginId, string destination, string imagecheckCode)
        {
            //验证图形验证码
            var cacheCheckCode = Session[CHECK_CODE_KEY] as string;

            //Session.Remove(CHECK_CODE_KEY);
            if (cacheCheckCode == null || string.IsNullOrEmpty(imagecheckCode) || imagecheckCode.ToLower() != cacheCheckCode.ToLower())
            {
                return(Json(new Result {
                    success = false, msg = "验证码错误"
                }));
            }

            _iMemberService.CheckContactInfoHasBeenUsed(pluginId, destination);
            var timeout = CacheKeyCollection.MemberPluginCheckTime(destination, pluginId);

            if (Core.Cache.Exists(timeout))
            {
                return(Json(new Result()
                {
                    success = false, msg = "120秒内只允许请求一次,请稍后重试!"
                }));
            }
            var checkCode    = new Random().Next(10000, 99999);
            var cacheTimeout = DateTime.Now.AddMinutes(15);

            if (pluginId.ToLower().Contains("email"))
            {
                cacheTimeout = DateTime.Now.AddMinutes(30);
            }
            Log.Debug(destination + ":" + checkCode);
            Core.Cache.Insert(CacheKeyCollection.MemberPluginCheck(destination, pluginId), checkCode.ToString(), cacheTimeout);
            var user = new MessageUserInfo()
            {
                UserName = destination, SiteName = SiteSettings.SiteName, CheckCode = checkCode.ToString()
            };

            _iMessageService.SendMessageCode(destination, pluginId, user);
            Core.Cache.Insert(CacheKeyCollection.MemberPluginCheckTime(destination, pluginId), "0", DateTime.Now.AddSeconds(120));
            return(Json(new Result()
            {
                success = true, msg = "发送成功"
            }));
        }
Exemple #7
0
        public ActionResult ChangePassWord(string passWord, string key)
        {
            UserMemberInfo userMemberInfo = Cache.Get(key) as UserMemberInfo;

            if (userMemberInfo == null)
            {
                return(Json(new { success = false, flag = -1, msg = "验证超时" }));
            }
            long id = userMemberInfo.Id;

            ServiceHelper.Create <IMemberService>().ChangePassWord(id, passWord);
            MessageUserInfo messageUserInfo = new MessageUserInfo()
            {
                SiteName = base.CurrentSiteSetting.SiteName,
                UserName = userMemberInfo.UserName
            };

            return(Json(new { success = true, flag = 1, msg = "成功找回密码" }));
        }
        public ActionResult ChangePassWord(string passWord, string key)
        {
            UserMemberInfo userMemberInfo = Cache.Get(string.Concat(key, "3")) as UserMemberInfo;

            if (userMemberInfo == null)
            {
                return(Json(new { success = false, flag = -1, msg = "Verify Timeout" }));
            }
            long id = userMemberInfo.Id;

            ServiceHelper.Create <IMemberService>().ChangePassWord(id, passWord);
            MessageUserInfo messageUserInfo = new MessageUserInfo()
            {
                SiteName = base.CurrentSiteSetting.SiteName,
                UserName = userMemberInfo.UserName
            };

            Task.Factory.StartNew(() => ServiceHelper.Create <IMessageService>().SendMessageOnFindPassWord(id, messageUserInfo));
            return(Json(new { success = true, flag = 1, msg = "Password recovery success" }));
        }
        public void SetPayPwd(long memid, string pwd)
        {
            pwd = pwd.Trim();
            var salt   = Guid.NewGuid().ToString("N");
            var pwdmd5 = Mall.Core.Helper.SecureHelper.MD5(Mall.Core.Helper.SecureHelper.MD5(pwd) + salt);
            var member = DbFactory.Default.Get <MemberInfo>().Where(e => e.Id == memid).FirstOrDefault();

            if (member != null)
            {
                DbFactory.Default.Set <MemberInfo>().Set(n => n.PayPwd, pwdmd5).Set(n => n.PayPwdSalt, salt).Where(p => p.Id == member.Id).Succeed();
                string CACHE_USER_KEY = CacheKeyCollection.Member(memid);
                Core.Cache.Remove(CACHE_USER_KEY);

                //消息通知
                var userMessage = new MessageUserInfo();
                userMessage.UserName = member.UserName;
                userMessage.SiteName = SiteSettingApplication.SiteSettings.SiteName;
                Task.Factory.StartNew(() => ServiceProvider.Instance <IMessageService> .Create.SendMessageOnEditPayPassWord(member.Id, userMessage));
            }
        }
        /// <summary>
        /// 发送验证码,认证管理员
        /// </summary>
        /// <param name="pluginId">信息类别</param>
        /// <param name="destination">联系号码</param>
        /// <param name="UserName">会员账号</param>
        /// <param name="SiteName">站点设置</param>
        /// <returns></returns>
        public static bool SendShopCode(string pluginId, string destination, string UserName, string SiteName)
        {
            var timeout = CacheKeyCollection.MemberPluginReBindTime(UserName, pluginId); //验证码超时时间

            if (Core.Cache.Get(timeout) != null)
            {
                return(false);
            }
            var checkCode    = new Random().Next(10000, 99999);
            var cacheTimeout = DateTime.Now.AddMinutes(15);

            Core.Cache.Insert(CacheKeyCollection.MemberPluginCheck(UserName, pluginId + destination), checkCode, cacheTimeout);
            var user = new MessageUserInfo()
            {
                UserName = UserName, SiteName = SiteName, CheckCode = checkCode.ToString()
            };

            _iMessageService.SendMessageCode(destination, pluginId, user);
            Core.Cache.Insert(CacheKeyCollection.MemberPluginReBindTime(UserName, pluginId), "0", DateTime.Now.AddSeconds(110));//验证码超时时间
            return(true);
        }
        public ActionResult SendCode(string pluginId, string destination)
        {
            ServiceHelper.Create <IMemberService>().CheckContactInfoHasBeenUsed(pluginId, destination, MemberContactsInfo.UserTypes.General);
            if (Cache.Get(CacheKeyCollection.MemberPluginCheckTime(base.CurrentUser.UserName, pluginId)) != null)
            {
                Result result = new Result()
                {
                    success = false,
                    msg     = "120秒内只允许请求一次,请稍后重试!"
                };
                return(Json(result));
            }
            int      num      = (new Random()).Next(10000, 99999);
            DateTime dateTime = DateTime.Now.AddMinutes(15);

            if (pluginId.ToLower().Contains("email"))
            {
                dateTime = DateTime.Now.AddHours(24);
            }
            Cache.Insert(CacheKeyCollection.MemberPluginCheck(base.CurrentUser.UserName, pluginId), num, dateTime);
            MessageUserInfo messageUserInfo = new MessageUserInfo()
            {
                UserName  = base.CurrentUser.UserName,
                SiteName  = base.CurrentSiteSetting.SiteName,
                CheckCode = num.ToString()
            };

            ServiceHelper.Create <IMessageService>().SendMessageCode(destination, pluginId, messageUserInfo);
            string   str = CacheKeyCollection.MemberPluginCheckTime(base.CurrentUser.UserName, pluginId);
            DateTime now = DateTime.Now;

            Cache.Insert(str, "0", now.AddSeconds(110));
            Result result1 = new Result()
            {
                success = true,
                msg     = "发送成功"
            };

            return(Json(result1));
        }
Exemple #12
0
        /// <summary>
        /// (绑定银行卡)发送验证码
        /// </summary>
        /// <param name="pluginId">信息类别</param>
        /// <param name="destination">联系号码</param>
        /// <param name="userName">会员账号</param>
        /// <param name="SiteName">站点设置</param>
        /// <returns></returns>
        public static bool BindBankSendCode(string pluginId, string destination, string userName, string SiteName)
        {
            var timeout = CacheKeyCollection.ShopPluginBindBankTime(userName, pluginId); //验证码超时时间

            if (Core.Cache.Exists(timeout))
            {
                return(false);
            }
            var checkCode = new Random().Next(10000, 99999);
            // Log.Debug("Code:" + checkCode);
            var cacheTimeout = DateTime.Now.AddMinutes(15);

            Core.Cache.Insert(CacheKeyCollection.ShopPluginBindBank(userName, pluginId + destination), checkCode, cacheTimeout);
            var user = new MessageUserInfo()
            {
                UserName = userName, SiteName = SiteName, CheckCode = checkCode.ToString()
            };

            MessageApplication.SendMessageCode(destination, pluginId, user);
            Core.Cache.Insert(CacheKeyCollection.ShopPluginBindBankTime(userName, pluginId), "0", DateTime.Now.AddSeconds(110));//验证码超时时间
            return(true);
        }
        public ActionResult SendCode(string pluginId, string destination, bool checkBind = false)
        {
            if (checkBind && _iMessageService.GetMemberContactsInfo(pluginId, destination, Entities.MemberContactInfo.UserTypes.General) != null)
            {
                return(Json(new Result()
                {
                    success = false, msg = destination + "已经绑定过了!"
                }));
            }
            _iMemberService.CheckContactInfoHasBeenUsed(pluginId, destination);
            var timeout = CacheKeyCollection.MemberPluginCheckTime(CurrentUser.UserName, pluginId);

            if (Core.Cache.Exists(timeout))
            {
                return(Json(new Result()
                {
                    success = false, msg = "120秒内只允许请求一次,请稍后重试!"
                }));
            }
            var checkCode    = new Random().Next(10000, 99999);
            var cacheTimeout = DateTime.Now.AddMinutes(15);

            if (pluginId.ToLower().Contains("email"))
            {
                cacheTimeout = DateTime.Now.AddHours(24);
            }
            Core.Cache.Insert(CacheKeyCollection.MemberPluginCheck(CurrentUser.UserName, pluginId + destination), checkCode.ToString(), cacheTimeout);
            var user = new MessageUserInfo()
            {
                UserName = CurrentUser.UserName, SiteName = SiteSettings.SiteName, CheckCode = checkCode.ToString()
            };

            _iMessageService.SendMessageCode(destination, pluginId, user);
            Core.Cache.Insert(CacheKeyCollection.MemberPluginCheckTime(CurrentUser.UserName, pluginId), "0", DateTime.Now.AddSeconds(120));
            return(Json(new Result()
            {
                success = true, msg = "发送成功"
            }));
        }
Exemple #14
0
        public ActionResult SendCode(string pluginId, string destination, bool checkBind = false)
        {
            if (checkBind && _iMessageService.GetMemberContactsInfo(pluginId, destination, Entities.MemberContactInfo.UserTypes.General) != null)
            {
                return(Json(new Result()
                {
                    success = false, msg = destination + "已经绑定过了!"
                }));
            }
            var timeout = CacheKeyCollection.MemberPluginReBindTime(CurrentUser.UserName, pluginId); //验证码超时时间

            if (Core.Cache.Exists(timeout))
            {
                return(Json(new Result()
                {
                    success = false, msg = "120秒内只允许请求一次,请稍后重试!"
                }));
            }
            var checkCode = new Random().Next(10000, 99999);
            //TODO yx 短信验证码超时时间需改成可配置,并且短信模板需添加超时时间变量
            var cacheTimeout = DateTime.Now.AddMinutes(2);

#if DEBUG
            //Log.Debug(destination + "[SendCode]" + checkCode);
#endif
            Core.Cache.Insert(CacheKeyCollection.MemberPluginCheck(CurrentUser.UserName, pluginId + destination), checkCode.ToString(), cacheTimeout);
            var user = new MessageUserInfo()
            {
                UserName = CurrentUser.UserName, SiteName = SiteSettings.SiteName, CheckCode = checkCode.ToString()
            };
            _iMessageService.SendMessageCode(destination, pluginId, user);
            Core.Cache.Insert(CacheKeyCollection.MemberPluginReBindTime(CurrentUser.UserName, pluginId), "0", DateTime.Now.AddSeconds(120));//验证码超时时间
            return(Json(new Result()
            {
                success = true, msg = "发送成功"
            }));
        }
Exemple #15
0
        public void SendMessageCode(string destination, string pluginId, MessageUserInfo info)
        {
            Plugin <IMessagePlugin> plugin = PluginsManagement.GetPlugin <IMessagePlugin>(pluginId);

            if (string.IsNullOrEmpty(destination) || !plugin.Biz.CheckDestination(destination))
            {
                throw new HimallException(string.Concat(plugin.Biz.ShortName, "错误"));
            }
            string str = plugin.Biz.SendMessageCode(destination, info);

            if (plugin.Biz.EnableLog)
            {
                DbSet <MessageLog> messageLog  = context.MessageLog;
                MessageLog         messageLog1 = new MessageLog()
                {
                    SendTime       = new DateTime?(DateTime.Now),
                    ShopId         = new long?(0),
                    MessageContent = str,
                    TypeId         = "短信"
                };
                messageLog.Add(messageLog1);
                context.SaveChanges();
            }
        }
 /// <summary>
 /// 找回密码
 /// </summary>
 /// <param name="destination"></param>
 /// <param name="info"></param>
 public static void SendMessageOnFindPassWord(long userId, MessageUserInfo info)
 {
     _iMessageService.SendMessageOnFindPassWord(userId, info);
 }
 /// <summary>
 /// 发送验证码
 /// </summary>
 /// <param name="destination"></param>
 /// <param name="info"></param>
 public static void SendMessageCode(string destination, string pluginId, MessageUserInfo info)
 {
     _iMessageService.SendMessageCode(destination, pluginId, info);
 }