コード例 #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
ファイル: MainController.cs プロジェクト: SysMa/ooadp-wave
        public ActionResult Login(LoginModel toCheck)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Main"));
            }
            try
            {
                switch (toCheck.type)
                {
                case 0:
                {
                    var account = (from m in _db.SuperAdmin
                                   where m.supname == toCheck.account
                                   select m);
                    if (account.Count() == 0)
                    {
                        TempData["ErrorMessage"] = "Check your account, please! ";
                        return(RedirectToAction("Main"));
                    }
                    else
                    {
                        string key = account.First().supname;
                        while (key.Length < 8)
                        {
                            key = key + key;
                        }
                        if (DESCode.DecryptDES(account.First().spasswd, key) != toCheck.password)
                        {
                            TempData["ErrorMessage"] = "Check your password, please! ";
                            return(RedirectToAction("Main"));
                        }
                        else
                        {
                            Session["waveAccount"] = toCheck.account;
                            Session["waveType"]    = toCheck.type;
                            return(RedirectToAction("Index", "SuperAdmin"));
                        }
                    }
                }
                break;

                case 1:
                {
                    var account = (from m in _db.Admin
                                   where m.adminname == toCheck.account
                                   select m);
                    if (account.Count() == 0)
                    {
                        TempData["ErrorMessage"] = "Check your account, please! ";
                        return(RedirectToAction("Main"));
                    }
                    else
                    {
                        string key = account.First().adminname;
                        while (key.Length < 8)
                        {
                            key = key + key;
                        }
                        if (DESCode.DecryptDES(account.First().apasswd, key) != toCheck.password)
                        {
                            TempData["ErrorMessage"] = "Check your password, please! ";
                            return(RedirectToAction("Main"));
                        }
                        else
                        {
                            Session["waveAccount"] = toCheck.account;
                            Session["waveType"]    = toCheck.type;
                            return(RedirectToAction("Index", "Admin"));
                        }
                    }
                }
                break;

                case 2:
                {
                    var account = (from m in _db.Org
                                   where m.orgname == toCheck.account
                                   select m);
                    if (account.Count() == 0)
                    {
                        TempData["ErrorMessage"] = "Check your account, please! ";
                        return(RedirectToAction("Main"));
                    }
                    else
                    {
                        string key = account.First().orgname;
                        while (key.Length < 8)
                        {
                            key = key + key;
                        }
                        if (DESCode.DecryptDES(account.First().opasswd, key) != toCheck.password)
                        {
                            TempData["ErrorMessage"] = "Check your password, please! ";
                            return(RedirectToAction("Main"));
                        }
                        else
                        {
                            if (account.First().ostate == -1)
                            {
                                account.First().ostate = 0;
                                _db.ApplyCurrentValues <Org>(account.First().EntityKey.EntitySetName, account.First());
                                _db.SaveChanges();
                            }

                            Session["waveAccount"] = toCheck.account;
                            Session["waveType"]    = toCheck.type;
                            return(RedirectToAction("Index", "Org"));
                        }
                    }
                }
                break;

                case 3:
                {
                    var account = (from m in _db.Users
                                   where m.username == toCheck.account
                                   select m);
                    if (account.Count() == 0)
                    {
                        TempData["ErrorMessage"] = "Check your account, please! ";
                        return(RedirectToAction("Main"));
                    }
                    else
                    {
                        string key = account.First().username;
                        while (key.Length < 8)
                        {
                            key = key + key;
                        }
                        if (DESCode.DecryptDES(account.First().upasswd, key) != toCheck.password)
                        {
                            TempData["ErrorMessage"] = "Check your password, please! ";
                            return(RedirectToAction("Main"));
                        }
                        else if (account.First().ustate == 0)
                        {
                            TempData["WarningMessage"] = "Your need to active your account.";
                            return(RedirectToAction("Main"));
                        }
                        else
                        {
                            Session["waveAccount"] = toCheck.account;
                            Session["waveType"]    = toCheck.type;

                            if (account.First().ustate == -1)
                            {
                                account.First().ustate = 1;
                                _db.ApplyCurrentValues <Users>(account.First().EntityKey.EntitySetName, account.First());
                                _db.SaveChanges();
                            }
                            return(Redirect(Request.UrlReferrer.ToString()));
                        }
                    }
                }
                break;

                default:
                    return(View());

                    break;
                }
            }
            catch (Exception exception)
            {
                TempData["ErrorMessage"] = "Login has failed because: " + exception.Message;
                return(RedirectToAction("Main"));
            }
        }
コード例 #4
0
ファイル: UserAccountController.cs プロジェクト: Jason235/BOC
        public IHttpActionResult ResetPassword(ResetPassowrdParams aResetPassowrdParams)
        {
            try
            {
                BOCPasswordHasher lBOCPasswordHasher = new BOCPasswordHasher();
                string lNewPassword = lBOCPasswordHasher.HashPassword(aResetPassowrdParams.Password);
                DESCode lDESCode = new DESCode();
                string lUserName = lDESCode.DecryptDES(aResetPassowrdParams.UserName);
                string[] lStringArray = lUserName.Split('|');
                string lUserTrueName = lStringArray[0];
                string lDateTime = lStringArray[1];
                DateTime lNow = DateTime.Now;
                DateTime lEmailDateTime = DateTime.Parse(lDateTime);
                if ((lNow - lEmailDateTime).Days > 7)
                {
                    return BadRequest("_resetpasswordexpired");
                }

                BOC.Entities.User lUser = _BOCWebDBContext.Users.Where(e => e.UserName == lUserTrueName).FirstOrDefault();
                if (lUser != null)
                {
                    lUser.Password = lNewPassword;
                    _BOCWebDBContext.Users.Attach(lUser);
                    _BOCWebDBContext.Entry<BOC.Entities.User>(lUser).State = System.Data.Entity.EntityState.Modified;
                    _BOCWebDBContext.SaveChanges();
                    return Ok();
                }
                else
                {
                    return BadRequest("_reseterror");
                }
            }
            catch (Exception e)
            {
                return BadRequest(e.ToString());
            }
        }