Пример #1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpContext requestContext = HttpContext.Current;

            bool IsValidUserSession = false;

            if (requestContext.Session[SessionVariables.AuthToken] != null && requestContext.Request.Cookies[CookieVariables.AuthToken] != null)
            {
                if (requestContext.Session[SessionVariables.AuthToken].ToString().Equals(requestContext.Request.Cookies[CookieVariables.AuthToken].Value))
                {
                    if (!(requestContext.Session[PageConstants.SESSION_USER_ID] == null || requestContext.Session[PageConstants.SESSION_ADMIN] == null))
                    {
                        #region  Validation for multiple session
                        var dailyLoginHistory = EmpBusinessInstance.GetActiveLogin((int)requestContext.Session[PageConstants.SESSION_USER_ID], (int)AspectEnums.AnnouncementDevice.Console);
                        if (dailyLoginHistory.SessionID == requestContext.Session.SessionID || requestContext.Session[PageConstants.SESSION_ADMIN] != null)
                        {
                            IsValidUserSession = true;
                            EmpProfile         = (UserProfileBO)requestContext.Session[PageConstants.SESSION_PROFILE_KEY];
                            EmpID  = (int)requestContext.Session[PageConstants.SESSION_USER_ID];
                            RoleID = (int)EmpProfile.RoleID;
                            SetSessionData(EmpID, RoleID);
                        }
                        #endregion
                    }
                }
            }
            if (!IsValidUserSession)
            {
                string loginURL = "~/Account/Login";
                //string loginURL = string.Format(AppUtil.GetAppSettings(AspectEnums.ConfigKeys.LoginURL), AppUtil.GetAppSettings(AspectEnums.ConfigKeys.HostName));
                loginURL             = string.Format("~/Account/Login?ReturnUrl={0}", HttpUtility.UrlEncode(requestContext.Request.RawUrl));
                filterContext.Result = new RedirectResult(loginURL);
                return;
            }
            base.OnActionExecuting(filterContext);
        }