예제 #1
0
        protected void Application_AcquireRequestState(object sender, EventArgs e)
        {
            var settings = IoC.Resolve <ISettings>();
            var app      = Context;

            if (HttpContext.Current.Session == null)
            {
                return;
            }

            var sessionTimeOut = HttpContext.Current.Session.Timeout;
            var myCookie       = new HttpCookie("exptimer")
            {
                Value = sessionTimeOut.ToString()
            };

            bool isUserLoggedIn;

            try
            {
                var session = IoC.Resolve <ISessionContext>();
                isUserLoggedIn = (session != null && session.UserSession != null);
            }
            catch (Exception)
            {
                isUserLoggedIn = false;
            }

            myCookie.Values["enabletimer"] = isUserLoggedIn.ToString();
            myCookie.Values["lasttime"]    = DateTime.Now.ToString("yyyy/MM/dd HH':'mm':'ss");

            myCookie.Values["logoutat"]    = DateTime.Now.AddMinutes(sessionTimeOut).ToString("yyyy/MM/dd HH':'mm':'ss");
            myCookie.Values["warningtime"] = DateTime.Now.AddMinutes((sessionTimeOut - settings.WarningMessageTime)).ToString("yyyy/MM/dd HH':'mm':'ss");

            app.Response.Cookies.Add(myCookie);

            if (isUserLoggedIn)
            {
                AccessControlCacheHelper.BuildCache();
            }
        }
예제 #2
0
        public virtual ActionResult Edit(RoleAccessControlObjectEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(model));
            }

            try
            {
                _service.Save(model);
                AccessControlCacheHelper.BuildSystemCache(model.RoleId);
                model.FeedbackMessage = FeedbackMessageModel.CreateSuccessMessage("Saved Successfully.");
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message);
                model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("Some Error Occured.");
            }
            model.AccessControlObjects = _service.Get(model.RoleId).AccessControlObjects;
            return(PartialView("Index", model));
        }