public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpSessionStateBase session = filterContext.HttpContext.Session;

            if (filterContext.HttpContext.Request.Cookies["userId"] != null && filterContext.HttpContext.Request.Cookies["userId"].Value.ToString().Trim() != "")
            {
                session["userId"] = filterContext.HttpContext.Request.Cookies["userId"].Value;
            }

            if (session["userId"] == null || (filterContext.HttpContext.Request.Cookies["token"] == null || filterContext.HttpContext.Request.Cookies["token"].Value.ToString().Trim() == ""))
            {
                session.Remove("Menu");
                session.Remove("MyMenu");
                filterContext.Result = new RedirectToRouteResult(
                    new RouteValueDictionary
                {
                    { "Controller", "Login" },
                    { "Action", "Index" }
                });
            }
            else
            {
                if (session["Menu"] == null)
                {
                    var    restClientContainer = new RestClientContainer(ConfigurationManager.AppSettings["ApiUrl"]);
                    var    dataRet             = restClientContainer.SendRequest <ResponseResult>("Accounts/GetMenu", RestSharp.Method.GET).Result.Data;
                    string json   = JsonConvert.SerializeObject(dataRet);
                    var    result = Helper <List <MenuViewModel> > .Convert(json);

                    session["Menu"] = result;
                }
            }
        }
        public async Task <ActionResult> Index(LoginParameters model)
        {
            var data = await restClientContainer.SendRequest <ResponseResult>("Accounts/Login", RestSharp.Method.POST, model);

            if (data.Data != null)
            {
                string json    = JsonConvert.SerializeObject(data.Data);
                var    dataRet = Helper <UserLoginReturn> .Convert(json);

                Session["userId"] = dataRet.UserId;
                if (model.IsSavedPassword)
                {
                    Response.Cookies["userId"].Value   = dataRet.UserId;
                    Response.Cookies["userId"].Expires = DateTime.Now.AddDays(6);
                }
                Session["userName"]               = model.Username;
                Response.Cookies["token"].Value   = dataRet.Token;
                Response.Cookies["token"].Expires = DateTime.Now.AddDays(7); // add expiry time

                return(RedirectToAction("Index", "Home"));
            }

            return(View(new LoginParameters()
            {
                Status = false
            }));
        }
Exemple #3
0
        public async Task <ActionResult> Save(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(PartialView(new RoleViewModel()));
            }
            var response = await restClientContainer.SendRequest <ResponseResult>($"Role/Get/{id}", RestSharp.Method.GET);

            string json = JsonConvert.SerializeObject(response.Data);
            var    data = !string.IsNullOrEmpty(id) ? Helper <RoleViewModel> .Convert(json) : new RoleViewModel();

            RoleViewModel Role = data;

            return(PartialView(Role));
        }