Пример #1
0
        public ActionResult Login(MembersLoginViewModel LoginMember)
        {
            //Service
            string ValidateStr = membersService.LoginCheck(LoginMember.Account, LoginMember.Password);

            //判斷驗證後結果是否錯誤訊息
            if (String.IsNullOrEmpty(ValidateStr))
            {
                string     RoleData   = membersService.GetRole(LoginMember.Account);
                JwtService jwtService = new JwtService();
                //設定JWT
                //從web.Config
                string cookieName = WebConfigurationManager.AppSettings["CookieName"].ToString();
                string Token      = jwtService.GenerateToke(LoginMember.Account, RoleData);
                //產生一個cookie
                HttpCookie cookie = new HttpCookie(cookieName);
                //設應單值
                cookie.Value = Server.UrlEncode(Token);
                //寫到用戶端
                Response.Cookies.Add(cookie);
                //設定cookie權限
                Response.Cookies[cookieName].Expires = DateTime.Now.AddMinutes(Convert.ToInt32(WebConfigurationManager.AppSettings["ExpireMinutes"]));
                return(RedirectToAction("Index", "Guestbooks"));
            }
            else
            {
                ModelState.AddModelError("", ValidateStr);
                return(View(LoginMember));
            }
        }