public ActionResult Login([Bind(Prefix = "loginModel")] MemberLoginViewModel model)
        {
            ResponseModel result = new ResponseModel();
            //var member = Services.MemberService.GetByEmail(model.Email);
            IMember member = Services.MemberService.GetMembersByPropertyValue("tel", model.Phone).FirstOrDefault();

            if (member == null)
            {
                result.Msg = "该用户未注册,请先进行注册在登录";
            }
            else
            {
                if (Members.Login(member.Email, model.Password) == false)
                {
                    result.Msg = "登陆手机号或密码错误,请重新输入";
                }
                else
                {
                    HttpCookie cookie = Request.Cookies.Get(FormsAuthentication.FormsCookieName);
                    cookie.Expires = DateTime.Now.AddDays(7);
                    Request.Cookies.Add(cookie);
                    result.Success     = false;
                    result.Success     = true;
                    result.Msg         = "用户登陆成功,页面即将跳转";
                    result.RedirectUrl = "memberinfo";
                    //清空登陆失败次数
                    member.FailedPasswordAttempts = 0;
                    Services.MemberService.Save(member);
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Exemple #2
0
 //[ValidateAntiForgeryToken]
 public ActionResult Index(MemberLoginViewModel memberViewModel)
 {
     if (ModelState.IsValid)
     {
         ViewBag.ErrorMessage = null;
         ShopBusinessLogic.LoginMember loginMember = new ShopBusinessLogic.LoginMember();
         //string userPhone = Request.Params["phone"];
         //ShopWeb.Models.MemberViewModel memberViewModel = new MemberViewModel();
         string userPhone = memberViewModel.mem_phone;
         //string userPwd = Request.Params["password"];
         string userPwd = memberViewModel.mem_pwd;
         string truePwd = loginMember.GetMemberByPhone(userPhone).mem_pwd;
         //var memView = new MemberViewModel();
         if (truePwd == userPwd)
         {
             //memView.mem_name = loginMember.GetMemberByPhone(userPhone).mem_name;
             //memView.mem_phone = loginMember.GetMemberByPhone(userPhone).mem_phone;
             //memView.mem_pwd = loginMember.GetMemberByPhone(userPhone).mem_pwd;
             string mem_name  = loginMember.GetMemberByPhone(userPhone).mem_name;
             string mem_phone = loginMember.GetMemberByPhone(userPhone).mem_phone;
             string mem_pwd   = loginMember.GetMemberByPhone(userPhone).mem_pwd;
             Session["mem_name"]  = mem_name;
             Session["mem_phone"] = mem_phone;
             Session["mem_pwd"]   = mem_pwd;
             Session["has_login"] = "******";
             Session.Timeout      = 30;
             if (Session["ReturnToPurchaseCar"] != null)
             {
                 return(Redirect("/PurchaseCar"));
             }
             else if (Session["ReturnToWishList"] != null)
             {
                 return(Redirect("/WishList"));
             }
             else if (Session["ReturnToPurchaseList"] != null)
             {
                 return(Redirect("/PurchaseList"));
             }
             else if (Session["ReturnToMemberInfo"] != null)
             {
                 return(Redirect("/MemberInfo"));
             }
             else
             {
                 return(Redirect("/Home"));
             }
         }
         else
         {
             ViewBag.LoginErrorMessage = "用户名或密码错误";
             return(View());
         }
     }
     else
     {
         return(View());
     }
 }
Exemple #3
0
        public ActionResult Login(MemberLoginViewModel LoginVM, string returnUrl)
        {
            string ValidateStr = memberService.LoginCheck(LoginVM.R_Account, LoginVM.R_Password);

            //When ValidateStr is empty string, it'll login successful
            if (string.IsNullOrEmpty(ValidateStr))
            {
                if (!memberService.isCheck(LoginVM.R_Account))
                {
                    ModelState.AddModelError("", "尚未通過真實驗證,請等候通過");
                    return(View());
                }
                var r    = db.Restaurants.Where(a => a.R_Account == LoginVM.R_Account).SingleOrDefault();
                var r_id = r.Id;
                HttpContext.Session.Clear();
                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
                                                                                 r.R_Name,
                                                                                 DateTime.Now,
                                                                                 DateTime.Now.AddHours(24),
                                                                                 false,
                                                                                 "User"
                                                                                 );

                var idCookie = new HttpCookie("idCookie");
                idCookie.Expires.AddHours(24);
                idCookie.Values.Add("r_id", r_id.ToString());
                //Encrypt cookie
                string enTicket = FormsAuthentication.Encrypt(ticket);
                Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, enTicket));
                Response.Cookies.Add(idCookie);

                string decodedUrl = "";
                if (!string.IsNullOrEmpty(returnUrl))
                {
                    decodedUrl = Server.UrlDecode(returnUrl);
                }

                //Login logic...

                if (Url.IsLocalUrl(decodedUrl))
                {
                    return(Redirect(decodedUrl));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else //Login failed
            {
                ModelState.AddModelError("", ValidateStr);
                return(View(LoginVM));
            }
        }
Exemple #4
0
        public ActionResult Validate(MemberLoginViewModel model)
        {
            if (Membership.ValidateUser(model.Login, model.Password))
            {
                FormsAuthentication.SetAuthCookie(model.Login, model.RememberMe);
                //return RedirectToCurrentUmbracoPage();
                return(Redirect("/"));
            }

            TempData["Status"] = "Invalid Log-in Credentials";
            //return RedirectToCurrentUmbracoPage();
            return(Redirect("/"));
        }
Exemple #5
0
        //[ValidateRecaptcha]   //20181224 ---棋 google驗證
        public async Task <JsonResult> Login(MemberLoginViewModel LoginViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // 10.系統在POST【Home/Login】驗証是否為合法會員。
                    int ret = await IMER.MemberLogin(LoginViewModel.MemberMobile, Utility.Data.HashPassword(LoginViewModel.MemberPassword));

                    if (ret == 0)
                    {
                        // 11.系統讀取會員資料。
                        MemberViewModel MVM = await IMER.GetMember(LoginViewModel.MemberMobile);

                        // 12.系統判斷10~11成功執行。
                        // 12-1.系統將11讀取MemberMobile,11讀取MemberLevel暫存在Session。
                        HttpContext.Session.SetString("MemberMobile", MVM.MemberMobile);
                        HttpContext.Session.SetInt32("MemberLevelId", MVM.MemberLevelId);
                        HttpContext.Session.SetString("NickName", MVM.NickName);
                        string MemberMobile1 = HttpContext.Session.GetString("MemberMobile");
                        int?   MemberLevelId = -1;
                        if (HttpContext.Session.GetInt32("MemberLevelId") != null)
                        {
                            MemberLevelId = HttpContext.Session.GetInt32("MemberLevelId");
                        }
                        else
                        {
                            MemberLevelId = -1;
                        }
                        string NickName = HttpContext.Session.GetString("NickName");
                        //20181219 ---棋
                        //讀取會員未讀訊息比數
                        long MailCount = await IMER.GetMailCenterUnReadCount(LoginViewModel.MemberMobile);

                        // 13.系統回傳json(new { result=10傳回值, memberoobile=11讀取MemberMobile, memberlevel=MemberLevelId })。
                        return(Json(new { result = ret, memberoobile = MVM.MemberMobile, memberlevelId = MVM.MemberLevelId, nickName = MVM.NickName, MailCount = MailCount }));
                    }
                    else
                    {
                        return(Json(new { result = ret }));
                    }
                }
                return(Json(new { result = 5 }));
            }
            catch (Exception ex)
            {
                // 12a.系統判斷10~11成功執行。
                //  12a-1.系統回傳json(new {result=-1})。
                return(Json(new { result = -1 }));
            }
        }
Exemple #6
0
        public ActionResult Login(MemberLoginViewModel login)
        {
            //判斷驗證碼是否正確
            if (this.IsCaptchaValid("驗證碼錯誤"))
            {
                //判斷輸入是否有誤
                if (ModelState.IsValid)
                {
                    //取得會員帳號
                    var loginMember = db.member.Find(login.Account);
                    //比對是否有此會員以及帳號的正確性
                    if (loginMember != null & loginMember.PassWord == login.PassWord)
                    {
                        //一般會員
                        string roles = "User";
                        //判斷是否為管理者
                        if (loginMember.isAdmin)
                        {
                            roles += ",Admin";
                        }
                        //加入Ticket
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
                                                                                         loginMember.Account,
                                                                                         DateTime.Now,
                                                                                         DateTime.Now.AddMinutes(30),
                                                                                         true,
                                                                                         roles,//角色權限
                                                                                         FormsAuthentication.FormsCookiePath);
                        // Encrypt the ticket.
                        string encTicket = FormsAuthentication.Encrypt(ticket);

                        // Create the cookie.
                        Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
                        TempData["Message"] = "登入成功";

                        if (loginMember.isAdmin)
                        {
                            //若是管理者 移至管理頁面
                            return(RedirectToAction("Index", "Home", new { area = "Admin" }));
                        }
                        return(RedirectToAction("Index", "MemberPage"));
                    }
                    else
                    {
                        ModelState.AddModelError("Account", "帳號或密碼錯誤");
                    }
                }
            }
            return(View(login));
        }
 public IActionResult Login([FromBody] MemberLoginViewModel model)
 {
     try
     {
         if (model != null)
         {
             var x = _member.Login(model);
             return(Json(x));
         }
         return(null);
     }
     catch (Exception ex)
     {
         //_logger.LogCritical($"Exception while get list of items.", ex);
         return(StatusCode(401, "LoginFailure"));
     }
 }
        public IActionResult Login(MemberLoginViewModel vm)
        {
            if (ModelState.IsValid)
            {
                Member member = _memberService.GetByCredentials(vm.Email, vm.Password);

                if (!(member is null))
                {
                    HttpContext.Session.SetMember(member);
                    // TODO : Add ClaimIdentities in HttpContext.User
                    return(RedirectToAction("Index", "Home"));
                }

                ModelState.AddModelError("login-error", "L'e-mail et/ou le mot de passe sont incorrect");
            }
            return(View(vm));
        }
        public ActionResult Login(MemberLoginViewModel login)
        {
            if (this.IsCaptchaValid("驗證碼錯誤"))
            {
                if (ModelState.IsValid)
                {
                    var loginMember = db.member.Find(login.Account);
                    if (loginMember != null & loginMember.PassWord == login.PassWord)
                    {
                        string roles = "User";
                        if (loginMember.isAdmin)
                        {
                            roles += ",Admin";
                        }
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
                                                                                         loginMember.Account,
                                                                                         DateTime.Now,
                                                                                         DateTime.Now.AddMinutes(30),
                                                                                         true,
                                                                                         roles,
                                                                                         FormsAuthentication.FormsCookiePath);
                        // Encrypt the ticket.
                        string encTicket = FormsAuthentication.Encrypt(ticket);

                        // Create the cookie.
                        Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
                        TempData["LoginSucess"] = "登入成功";
                        if (loginMember.isAdmin)
                        {
                            return(RedirectToAction("Index", "Home", new { area = "Admin" }));
                        }
                        return(RedirectToAction("Index", "MemberPage"));
                    }
                    else
                    {
                        ModelState.AddModelError("Account", "帳號或密碼錯誤");
                    }
                }
            }
            return(View(login));
        }
Exemple #10
0
        public ActionResult Login(MemberLoginViewModel model)
        {
            ViewBag.Title = "會員登入";

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var loginResult = _memberService.CheckUserPassword(model.Account, model.Password);

            if (loginResult.Auth.Equals(false))
            {
                ModelState.AddModelError("LoginError", "帳號或密碼錯誤");
                return(View(model));
            }

            var artCnt = _memberService.GetUserArticleCount(loginResult.User.Id);

            SignInUser.UserLogin(true, loginResult.User, artCnt);
            return(RedirectToAction("Index", "Post"));
        }
        public async Task <IActionResult> Login(MemberLoginViewModel loginVM)
        {
            #region CheckModelState
            if (!ModelState.IsValid)
            {
                return(View());
            }
            #endregion

            AppUser member = await _userManager.FindByEmailAsync(loginVM.Email);

            #region CheckMemberEmail
            if (member == null)
            {
                ModelState.AddModelError("", "Email or Password is Incorrect");
                return(View());
            }
            #endregion
            #region CheckMemberPassword
            if (!await _userManager.CheckPasswordAsync(member, loginVM.Password))
            {
                ModelState.AddModelError("", "Email or Password is Incorrect");
                return(View());
            }
            #endregion
            ClaimsIdentity claimsIdentity = new ClaimsIdentity(new[]
            {
                new Claim(ClaimTypes.NameIdentifier, member.Id),
                new Claim(ClaimTypes.Name, member.UserName),
                new Claim(ClaimTypes.Email, member.Email),
                new Claim(ClaimTypes.Role, "Member")
            }, "Member_Auth");
            ClaimsPrincipal claimsPrincipal = new ClaimsPrincipal(claimsIdentity);

            await HttpContext.SignInAsync("Member_Auth", claimsPrincipal);

            return(RedirectToAction("index", "home"));
        }