Example #1
0
        public ActionResult Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            var result = DataAccessor.AccountRepository.CheckIdentity(
                new Identity
                {
                    MemberName = model.MemberName,
                    PasswordHash = CryptoHelper.Hash(model.Password)
                });

            if (result)
            {
                FormsAuthentication.SetAuthCookie(model.MemberName, model.RememberMe);

                var account = DataAccessor.AccountRepository.GetAccountByIdentity(IdentityType.QRBaId, model.MemberName);
                CookieHelper.SetCookie(Response, Constants.AccountId, account.Id.ToString(), model.RememberMe);

                var codeIdList = CookieHelper.GetAnonymousCodeIdList(Request);
                foreach (var codeId in codeIdList)
                {
                    var code = DataAccessor.CodeRepository.GetCode(Constants.AnonymousId, codeId);
                    if (code != null)
                    {
                        code.AccountId = account.Id;
                        code.CodeId = 0;
                        code = DataAccessor.CodeRepository.AddCode(code);
                        DataAccessor.CodeRepository.RemoveCode(Constants.AnonymousId, codeId);
                        FileHelper.TransferCode(Constants.AnonymousId, codeId, account.Id, code.CodeId, code.BackgroundContentType);
                    }
                }
                CookieHelper.ClearAnonymousCodeIdList(Response);

                return RedirectToLocal(model.ReturnUrl);
            }
            else
            {
                Danger("用户名或密码错了 ╮(╯▽╰)╭", true);
                return View();
            }
        }
Example #2
0
        public ActionResult Login(string returnUrl)
        {
            var model = new LoginViewModel { ReturnUrl = returnUrl };

            return View("Login", model);
        }