コード例 #1
0
ファイル: AccountController.cs プロジェクト: Jason235/BOC
        public IHttpActionResult ForgetPassword(string UserName, string Email)
        {
            DESCode lDESCode = new DESCode();

            string en = lDESCode.EncryptDES("jason.wang");

            string de = lDESCode.DecryptDES(en);

            //SendEmail.SendSupportEmail("*****@*****.**", "Password recovery", "<strong>Recovering the password</strong>");
            return Ok();
        }
コード例 #2
0
        public ActionResult ChangePwd(ChangePwdModel passwordToChange)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            string superAdmin = Session["waveAccount"].ToString();
            var    account    = (from m in _db.SuperAdmin
                                 where m.supname == superAdmin
                                 select m).First();

            string key = account.supname;

            while (key.Length < 8)
            {
                key = key + key;
            }

            if (DESCode.DecryptDES(account.spasswd, key) != passwordToChange.original)
            {
                TempData["ErrorMessage"] = "Your original passwords do not match, please retype it and try again. ";
                return(View());
            }
            else if (passwordToChange.password != passwordToChange.confirmPwd)
            {
                TempData["ErrorMessage"] = "Your new passwords do not match, please retype them and try again. ";
                return(View());
            }
            else
            {
                account.spasswd = DESCode.EncryptDES(passwordToChange.password, key);

                try
                {
                    _db.ApplyCurrentValues <SuperAdmin>(account.EntityKey.EntitySetName, account);
                    _db.SaveChanges();
                    TempData["SuccessMessage"] = "Your password has been sucessfully changed.";
                    return(RedirectToAction("Index"));
                }
                catch (Exception exception)
                {
                    TempData["ErrorMessage"] = "Password change has failed because: " + exception.Message;
                    return(View());
                }
            }
        }
コード例 #3
0
ファイル: AdminController.cs プロジェクト: SysMa/ooadp-wave
        public ActionResult CreateOrg(Org orgToCreate)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            try
            {
                var org = (from m in _db.Org
                           where m.orgname == orgToCreate.orgname
                           select m);

                if (org.Count() != 0)
                {
                    TempData["ErrorMessage"] = "Org name exists! ";
                    return(View());
                }
                if (orgToCreate.opasswd != Request.Form["ConfirmPassword"])
                {
                    TempData["ErrorMessage"] = "Org creation failed! Passwords must match, please re-enter and try again.";
                    return(View());
                }
                string key = orgToCreate.orgname;
                while (key.Length < 8)
                {
                    key = key + key;
                }
                orgToCreate.opasswd = DESCode.EncryptDES(orgToCreate.opasswd, key);
                orgToCreate.oscore  = 0;
                _db.AddToOrg(orgToCreate);
                _db.SaveChanges();
                TempData["SuccessMessage"] = "Org creation succeeds!";
                return(RedirectToAction("Orgs"));
            }
            catch (Exception exception)
            {
                TempData["ErrorMessage"] = "Org creation has failed because: " + exception.Message;
                return(View());
            }
        }
コード例 #4
0
        public ActionResult Create(Admin adminToCreate)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            try
            {
                var admin = (from m in _db.Admin
                             where m.adminname == adminToCreate.adminname
                             select m);
                if (admin.Count() != 0)
                {
                    TempData["ErrorMessage"] = "Administrator name exists, please retype it and try again! ";
                    return(View());
                }
                if (adminToCreate.apasswd != Request.Form["ConfirmPassword"])
                {
                    TempData["ErrorMessage"] = "Administrator creation failed! Passwords must match, please re-enter and try again.";
                    return(View());
                }
                string key = adminToCreate.adminname;
                while (key.Length < 8)
                {
                    key = key + key;
                }
                adminToCreate.apasswd = DESCode.EncryptDES(adminToCreate.apasswd, key);
                _db.AddToAdmin(adminToCreate);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception exception)
            {
                TempData["ErrorMessage"] = "Administrator creation has failed because: " + exception.Message;
                return(View());
            }
        }
コード例 #5
0
ファイル: MainController.cs プロジェクト: SysMa/ooadp-wave
        public ActionResult Register(Users userToCreate)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            try
            {
                var users = (from m in _db.Users
                             where m.username == userToCreate.username
                             select m);

                if (users.Count() != 0)
                {
                    TempData["ErrorMessage"] = "User name exists! ";
                    return(View());
                }
                if (userToCreate.upasswd != Request.Form["ConfirmPassword"])
                {
                    TempData["ErrorMessage"] = "Registration failed! Your passwords must match, please re-enter and try again.";
                    return(View());
                }

                try
                {
                    string content = System.IO.File.ReadAllText(Server.MapPath("~/NewMemberEmail.txt"));
                    content = content.Replace("[Name]", userToCreate.username);
                    content = content.Replace("[LINK]", "<a href='http://" + Request.Url.Host + ":" + Request.Url.Port + "/User/Activation-" + Server.UrlEncode(userToCreate.username) + "-" + MD5Code.getMd5Hash(userToCreate.username) + "'>^_^Active^_^</a>");
                    content = content.Replace("[UserName]", userToCreate.username);
                    content = content.Replace("[Pwd]", userToCreate.upasswd);

                    if (!SendMail.send(userToCreate.uemail, content, Server, "Active"))
                    {
                        TempData["ErrorMessage"] = "Sorry. The format of your email address can't be recognized.";
                        return(View());
                    }
                    ;
                }
                catch (Exception ex)
                {
                    TempData["ErrorMessage"] = "Registration failed! Check your email again please." + ex.Message;
                    return(View());
                }

                try
                {
                    string key = userToCreate.username;
                    while (key.Length < 8)
                    {
                        key = key + key;
                    }
                    userToCreate.upasswd = DESCode.EncryptDES(userToCreate.upasswd, key);
                    _db.AddToUsers(userToCreate);
                    _db.SaveChanges();
                    TempData["SuccessMessage"] = "Registration succeeds! Your can log in using the new username and password.";
                }
                catch (Exception ex)
                {
                    TempData["ErrorMessage"] = "The databse is unreachable. Try again later." + ex.Message;
                    return(View());
                }

                return(RedirectToAction("Main"));
            }
            catch (Exception exception)
            {
                TempData["ErrorMessage"] = "Registration has failed because: " + exception.Message;
                return(View());
            }
        }
コード例 #6
0
ファイル: UserAccountController.cs プロジェクト: Jason235/BOC
        public IHttpActionResult ForgetPassword(string UserName, string Email, string Language)
        {
            BOC.Entities.Company lCompany = _BOCWebDBContext.Companys.Where(e => e.LoginUserName == UserName && e.CompanyEmail == Email).FirstOrDefault();
            if(lCompany != null)
            {
                DateTime lNow = DateTime.Now;
                var request = HttpContext.Current.Request;
                DESCode lDESCode = new DESCode();
                string lEncodeStrong = UserName + '|' + lNow.ToShortDateString();
                string Url = "http://" + request.Url.Authority + "/index.html#ResetPassword?UserName="******"&language=" + HttpContext.Current.Server.UrlEncode(Language);
                StringBuilder lEmailBody = new StringBuilder();

                if (Language == "zh-CN")
                {
                    lEmailBody.Append("<center>");
                    lEmailBody.Append("<table width=\"780\" style=\"border:1px solid #d64635;\">");
                    lEmailBody.Append("<thead>");
                    lEmailBody.Append("<tr style=\"background-color:#d64635;color:#FFF;height:34px;\">");
                    lEmailBody.Append("<th>Beef to China</th>");
                    lEmailBody.Append("</tr>");
                    lEmailBody.Append("</thead>");
                    lEmailBody.Append("<tbody>");
                    lEmailBody.Append("<tr>");
                    lEmailBody.Append("<th style=\"text-align:left;margin:20px;padding:20px;\">");
                    lEmailBody.Append("<p>尊敬的 <strong>").Append(UserName).Append("</strong>:</p>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p>请点击以下链接重置您的密码。(链接7天内有效)</p>");
                    lEmailBody.Append("<a href='").Append(Url).Append("'>").Append(Url).Append("</a>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p>本邮件为系统邮件,请勿直接回复,谢谢!</p>");
                    lEmailBody.Append("<p>若有任何疑问,请联系 [email protected]</p>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p>Beef to China</p>");
                    lEmailBody.Append("</th>");
                    lEmailBody.Append("</tr>");
                    lEmailBody.Append("</tbody>");
                    lEmailBody.Append("</table>");
                    lEmailBody.Append("</center>");

                    SendEmail.SendSupportEmail(Email, "Beef to china 重置密码", lEmailBody.ToString());
                }
                else
                {
                    lEmailBody.Append("<center>");
                    lEmailBody.Append("<table width=\"780\" style=\"border:1px solid #d64635;\">");
                    lEmailBody.Append("<thead>");
                    lEmailBody.Append("<tr style=\"background-color:#d64635;color:#FFF;height:34px;\">");
                    lEmailBody.Append("<th>Beef to China</th>");
                    lEmailBody.Append("</tr>");
                    lEmailBody.Append("</thead>");
                    lEmailBody.Append("<tbody>");
                    lEmailBody.Append("<tr>");
                    lEmailBody.Append("<th style=\"text-align:left;margin:20px;padding:20px;\">");
                    lEmailBody.Append("<p>Dear <strong>").Append(UserName).Append("</strong>:</p>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p>Please follow the link to reset your password. (The link is valid for 7 days.)</p>");
                    lEmailBody.Append("<a href='").Append(Url).Append("'>").Append(Url).Append("</a>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p>This email is automatically generated by the system, please do not reply. Thanks! </p>");
                    lEmailBody.Append("<p>If you have any questions, please contact [email protected].</p>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p></p>");
                    lEmailBody.Append("<p>Beef to China</p>");
                    lEmailBody.Append("</th>");
                    lEmailBody.Append("</tr>");
                    lEmailBody.Append("</tbody>");
                    lEmailBody.Append("</table>");
                    lEmailBody.Append("</center>");

                    SendEmail.SendSupportEmail(Email, "Beef to china reset password", lEmailBody.ToString());
                }
                return Ok();
            }
            else
            {
                return BadRequest("_usernameoremailnotcorrect");
            }
        }