コード例 #1
0
ファイル: UserTest.cs プロジェクト: MSavameri/Lab
        public void TestLogin()
        {
            var user = new UserLoginViewModel()
            {
                UserName = "******",
                Password = "******",
                Corporation = "1"
            };

            var viewModel = (RedirectToRouteResult)new AccountController()
                .Login(user, "TestRequestList");
            Assert.AreEqual("TestRequestList",
                viewModel.RouteValues["TestRequestList"]);
        }
コード例 #2
0
ファイル: AccountController.cs プロジェクト: MSavameri/Lab
        public ActionResult Login(UserLoginViewModel user, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Corporation =
                    new SelectList(_testRepository.GetAllCorporation(),
                        "Com_Id", "Com_Title");
                return View(user);
            }
            //if (!this.IsCaptchaValid("جواب تصویر صحیح نمیباشد"))
            //    return View(user);

            if (_userRepository.ValidateUser(user.UserName,
                user.Password,
                int.Parse(user.Corporation)))
            {
                var cookie = new HttpCookie("LabRequest-Cookie",
                    CookieEncryptor.Encrypt(user.Corporation));
                Response.Cookies.Add(cookie);

                if (_userRepository.GetUser(user.UserName,
                    int.Parse(CookieEncryptor.Decrypt(Request.Cookies["LabRequest-Cookie"].Value)))
                    .UserType == 0)
                {
                    ModelState.AddModelError("", "نام کاربری شما مجوز استفاده از سامانه را ندارد");
                    ViewBag.Corporation =
                        new SelectList(_testRepository.GetAllCorporation(),
                            "Com_Id", "Com_Title");
                    return View(user);
                }
                else
                {
                    FormsAuthentication.SetAuthCookie(user.UserName, false);
                    return ReturnToLocal(returnUrl);
                }
            }
            else
            {
                ModelState.AddModelError("", "نام یا رمز کاربری و یا شرکت مورد انتخاب اشتباه است");
                ViewBag.Corporation =
                    new SelectList(_testRepository.GetAllCorporation(),
                        "Com_Id", "Com_Title");
                return View(user);
            }
        }