public void SetSessionTrackerValues(string portalID, string userName)
        {
            SessionTracker sessionTracker = (SessionTracker)HttpContext.Current.Session[SessionKeys.Tracker];

            if (string.IsNullOrEmpty(sessionTracker.PortalID))
            {
                sessionTracker.PortalID = portalID;
                sessionTracker.Username = userName;
                SageFrameConfig sfConfig = new SageFrameConfig();
                sessionTracker.InsertSessionTrackerPages = sfConfig.GetSettingsByKey(SageFrameSettingKeys.InsertSessionTrackingPages);
                SageFrame.Web.SessionLog SLog = new SageFrame.Web.SessionLog();
                SLog.SessionTrackerUpdateUsername(sessionTracker, userName, portalID);
                HttpContext.Current.Session[SessionKeys.Tracker] = sessionTracker;
            }
        }
예제 #2
0
 public void StoreSessionTrackerAdd(SessionTracker sessionTracker, int StoreID, int PortalID)
 {
     try
     {
         List<KeyValuePair<string, object>> ParaMeterCollection = new List<KeyValuePair<string, object>>();
         ParaMeterCollection.Add(new KeyValuePair<string, object>("@SessionTrackerID", int.Parse(sessionTracker.SessionTrackerID)));
         ParaMeterCollection.Add(new KeyValuePair<string, object>("@StoreID", StoreID));
         ParaMeterCollection.Add(new KeyValuePair<string, object>("@PortalID", PortalID));
         SQLHandler sagesql = new SQLHandler();
         sagesql.ExecuteNonQuery("[usp_aspx_StoreSessionAdd]", ParaMeterCollection);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
예제 #3
0
 /// <summary>
 /// Connects to database and stores serssion tracker details.
 /// </summary>
 /// <param name="sessionTracker">SessioTracker Details.</param>
 /// <param name="StoreID">Store ID.</param>
 /// <param name="PortalID">Portal ID.</param>
 public void StoreSessionTrackerAdd(SessionTracker sessionTracker, int StoreID, int PortalID)
 {
     try
     {
         List <KeyValuePair <string, object> > ParaMeterCollection = new List <KeyValuePair <string, object> >();
         ParaMeterCollection.Add(new KeyValuePair <string, object>("@SessionTrackerID", int.Parse(sessionTracker.SessionTrackerID)));
         ParaMeterCollection.Add(new KeyValuePair <string, object>("@StoreID", StoreID));
         ParaMeterCollection.Add(new KeyValuePair <string, object>("@PortalID", PortalID));
         SQLHandler sagesql = new SQLHandler();
         sagesql.ExecuteNonQuery("[usp_Aspx_StoreSessionAdd]", ParaMeterCollection);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
예제 #4
0
 public void SessionTrackerUpdateUsername(SessionTracker sessionTracker, string GetUsername, string GetPortalID)
 {
     try
     {
         List<KeyValuePair<string, string>> ParaMeterCollection = new List<KeyValuePair<string, string>>();
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionTrackerID", sessionTracker.SessionTrackerID.ToString()));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@Username", GetUsername));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@PortalID", GetPortalID.ToString()));
         SQLHandler sagesql = new SQLHandler();
         sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerUpdateUsername", ParaMeterCollection);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
예제 #5
0
 public void SessionTrackerUpdateUsername(SessionTracker sessionTracker, string GetUsername, string GetPortalID)
 {
     try
     {
         List <KeyValuePair <string, string> > ParaMeterCollection = new List <KeyValuePair <string, string> >();
         ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionTrackerID", sessionTracker.SessionTrackerID.ToString()));
         ParaMeterCollection.Add(new KeyValuePair <string, string>("@UserName", GetUsername));
         ParaMeterCollection.Add(new KeyValuePair <string, string>("@PortalID", GetPortalID.ToString()));
         SQLHandler sagesql = new SQLHandler();
         sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerUpdateUsername", ParaMeterCollection);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
예제 #6
0
        /// <summary>
        /// Connects to database and inserts session log's details.
        /// </summary>
        /// <param name="tracker">SessionTracker containaining session detail</param>
        public void SessionLogStart(SessionTracker tracker, string sessionID)
        {
            try
            {
                string hostAddress = tracker.SessionUserHostAddress.ToString();
                string userAgent   = tracker.SessionUserAgent != null?tracker.SessionUserAgent.ToString() : string.Empty;

                string browser = tracker.Browser;
                //string crawler = tracker.Browser.Crawler != null ? tracker.Browser.Crawler.ToString() : string.Empty;
                string crawler    = tracker.Crawler.ToString();
                string sessionUrl = tracker.SessionURL != null?tracker.SessionURL.ToString() : string.Empty;

                //string visitCount = tracker.VisitCount != null ? tracker.VisitCount.ToString() : string.Empty;
                string visitCount = tracker.VisitCount.ToString();
                string referrer   = tracker.OriginalReferrer != null?tracker.OriginalReferrer.ToString() : string.Empty;

                string orgUrl = tracker.OriginalURL != null?tracker.OriginalURL.ToString() : string.Empty;

                string username = tracker.Username != null?tracker.Username.ToString() : string.Empty;

                string portalID = tracker.PortalID != null?tracker.PortalID.ToString() : string.Empty;

                List <KeyValuePair <string, string> > ParaMeterCollection = new List <KeyValuePair <string, string> >();
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionUserHostAddress", hostAddress));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionUserAgent", userAgent));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionBrowser", browser));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionCrawler", crawler));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionURL", sessionUrl));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionVisitCount", visitCount));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionOriginalReferrer", referrer));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionOriginalURL", orgUrl));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@UserName", username));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@PortalID", portalID));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionID", sessionID));
                SQLHandler sagesql = new SQLHandler();
                sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerAdd", ParaMeterCollection);
                //int insertedID = sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerAdd", ParaMeterCollection, "@InsertedID");
                //tracker.SessionTrackerID = insertedID.ToString();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #7
0
 public void SessionLogStart(SessionTracker tracker)
 {
     try
     {
         string hostAddress = tracker.SessionUserHostAddress.ToString();
         string userAgent = tracker.SessionUserAgent != null ? tracker.SessionUserAgent.ToString() : string.Empty;
         string browser = tracker.Browser.Browser != null ? tracker.Browser.Browser.ToString() : string.Empty;
         //string crawler = tracker.Browser.Crawler != null ? tracker.Browser.Crawler.ToString() : string.Empty;
         string crawler = tracker.Browser.Crawler.ToString();
         string sessionUrl = tracker.SessionURL != null ? tracker.SessionURL.ToString() : string.Empty;
         //string visitCount = tracker.VisitCount != null ? tracker.VisitCount.ToString() : string.Empty;
         string visitCount = tracker.VisitCount.ToString();
         string referrer = tracker.OriginalReferrer != null ? tracker.OriginalReferrer.ToString() : string.Empty;
         string orgUrl = tracker.OriginalURL != null ? tracker.OriginalURL.ToString() : string.Empty;
         string username = tracker.Username != null ? tracker.Username.ToString() : string.Empty;
         string portalID = tracker.PortalID != null ? tracker.PortalID.ToString() : string.Empty;
         List<KeyValuePair<string, string>> ParaMeterCollection = new List<KeyValuePair<string, string>>();
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionUserHostAddress", hostAddress));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionUserAgent", userAgent));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionBrowser", browser));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionCrawler", crawler));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionURL", sessionUrl));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionVisitCount", visitCount));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionOriginalReferrer", referrer));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionOriginalURL", orgUrl));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@Username", username));
         ParaMeterCollection.Add(new KeyValuePair<string, string>("@PortalID", portalID));
         SQLHandler sagesql = new SQLHandler();
         int insertedID = sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerAdd", ParaMeterCollection, "@InsertedID");
         tracker.SessionTrackerID = insertedID.ToString();
     }
     catch (Exception e)
     {
         throw e;
     }
 }
예제 #8
0
 protected void Session_Start(object sender, EventArgs e)
 {
     try
     {
         HttpContext.Current.Session["ModuleCss"] = null;
         HttpContext.Current.Session["ModuleJs"] = null;
         string IsInstalled = Config.GetSetting("IsInstalled").ToString();
         string InstallationDate = Config.GetSetting("InstallationDate").ToString();
         if ((IsInstalled != "" && IsInstalled != "false") && InstallationDate != "")
         {
             HttpContext.Current.Cache.Remove("SageSetting");
             HttpContext.Current.Session["SageFrame.PortalID"] = null;
             SessionTracker sessionTracker = new SessionTracker();
             if (sessionTracker != null)
             {
                 SageFrame.Web.SessionLog sLog = new SageFrame.Web.SessionLog();
                 sLog.SessionLogStart(sessionTracker);
             }
             HttpContext.Current.Session["Tracker"] = sessionTracker;
         }
     }
     catch
     {
     }
 }
        protected void Session_Start(object sender, EventArgs e)
        {
            try
            {
                HttpContext.Current.Session[SessionKeys.ModuleCss] = new List<CssScriptInfo>();
                HttpContext.Current.Session[SessionKeys.ModuleJs] = new List<CssScriptInfo>();
                ApplicationController objAppController = new ApplicationController();
                if (objAppController.IsInstalled())
                {

                    HttpContext.Current.Session[SessionKeys.SageFrame_PortalID] = null;
                    Session[SessionKeys.SageFrame_PortalID] = null;
                    Session[SessionKeys.SageFrame_PortalSEOName] = null;
                    SessionTracker sessionTracker = new SessionTracker();
                    if (sessionTracker != null)
                    {                        
                        SessionLog sLog = new SessionLog();
                        sLog.SessionLogStart(sessionTracker);
                    }
                    HttpContext.Current.Session[SessionKeys.Tracker] = sessionTracker;
                }
            }
            catch
            {
            }
        }
예제 #10
0
        public void SessionLogEnd(SessionTracker tracker)
        {
            try
            {
                //string hostAddress = tracker.SessionUserHostAddress.ToString();
                //string userAgent = tracker.SessionUserAgent != null ? tracker.SessionUserAgent.ToString() : string.Empty;
                //string browser = tracker.Browser.Browser != null ? tracker.Browser.Browser.ToString() : string.Empty;
                //string crawler = tracker.Browser.Crawler != null ? tracker.Browser.Crawler.ToString() : string.Empty;
                //string sessionUrl = tracker.SessionURL != null ? tracker.SessionURL.ToString() : string.Empty;
                //string visitCount = tracker.VisitCount != null ? tracker.VisitCount.ToString() : string.Empty;
                //string referrer = tracker.OriginalReferrer != null ? tracker.OriginalReferrer.ToString() : string.Empty;
                //string orgUrl = tracker.OriginalURL != null ? tracker.OriginalURL.ToString() : string.Empty;
                //string username = tracker.Username != null ? tracker.Username.ToString() : string.Empty;
                //string portalID = tracker.PortalID != null ? tracker.PortalID.ToString() : string.Empty;
                //List<KeyValuePair<string, string>> ParaMeterCollection = new List<KeyValuePair<string, string>>();
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionUserHostAddress", hostAddress));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionUserAgent", userAgent));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionBrowser", browser));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionCrawler", crawler));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionURL", sessionUrl));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionVisitCount", visitCount));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionOriginalReferrer", referrer));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionOriginalURL", orgUrl));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@Username", username));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@PortalID", portalID));
                //SQLHandler sagesql = new SQLHandler();
                //int insertedID = sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerAdd", ParaMeterCollection, "@InsertedID");
                List<KeyValuePair<string, string>> ParaMeterCollection = new List<KeyValuePair<string, string>>();
                ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionTrackerID", tracker.SessionTrackerID.ToString()));
                ParaMeterCollection.Add(new KeyValuePair<string, string>("@PortalID", tracker.PortalID.ToString()));
                SQLHandler sagesql = new SQLHandler();
                sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerUpdateEND", ParaMeterCollection);
                if (bool.Parse(tracker.InsertSessionTrackerPages))
                {
                    if ((tracker.Pages != null))
                    {
                        ArrayList pages = tracker.Pages;
                        string body = string.Empty;
                        DateTime FirstTime = Convert.ToDateTime("00:00:00");
                        DateTime PreviousTime = Convert.ToDateTime("00:00:00");
                        TimeSpan ElapsedTime;
                        bool first = true;
                        string lastPage = null;
                        foreach (SessionTrackerPage pti in pages)
                        {
                            if (first)
                            {
                                FirstTime = pti.Time;
                                first = false;
                                ElapsedTime = new TimeSpan(0, 0, 0);
                            }
                            else
                            {
                                ElapsedTime = PreviousTime.Subtract(FirstTime);
                            }

                            List<KeyValuePair<string, string>> ParaMeterCollection1 = new List<KeyValuePair<string, string>>();
                            ParaMeterCollection1.Add(new KeyValuePair<string, string>("@SessionTrackerID", tracker.SessionTrackerID.ToString()));
                            ParaMeterCollection1.Add(new KeyValuePair<string, string>("@SessionTrackerPage", pti.PageName));
                            ParaMeterCollection1.Add(new KeyValuePair<string, string>("@SessionTrackerTime", ElapsedTime.ToString().Substring(0, 8)));
                            int insertedPageID = sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerPageAdd", ParaMeterCollection1, "@InsertedID");
                            lastPage = pti.PageName;
                            PreviousTime = pti.Time;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
    protected void lnkloginStatus_Click(object sender, EventArgs e)
    {
        try
        {
   
            SageFrameConfig SageConfig = new SageFrameConfig();
            SageFrameSettingKeys.PageExtension = SageConfig.GetSettingsByKey(SageFrameSettingKeys.SettingPageExtension);
            bool EnableSessionTracker = bool.Parse(SageConfig.GetSettingsByKey(SageFrameSettingKeys.EnableSessionTracker));

            SessionTracker sessionTrackerNew = new SessionTracker();
            if (EnableSessionTracker)
            {
                string sessionID = HttpContext.Current.Session.SessionID;
                SageFrame.Web.SessionLog sLogNew = new SageFrame.Web.SessionLog();
                sLogNew.SessionLogStart(sessionTrackerNew, sessionID);
            }           
            string ReturnUrl = string.Empty;
            string RedUrl = string.Empty;
            SageFrameConfig sfConfig = new SageFrameConfig();
            if (lnkloginStatus.CommandName == "LOGIN")
            {

                if (Request.QueryString["ReturnUrl"] == null)
                {
                    ReturnUrl = Request.RawUrl.ToString();
                    if (!(ReturnUrl.ToLower().Contains(SageFrameSettingKeys.PageExtension)))
                    {
                        //ReturnUrl = ReturnUrl.Remove(strURL.LastIndexOf('/'));
                        if (ReturnUrl.EndsWith("/"))
                        {
                            ReturnUrl += sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                        }
                        else
                        {
                            ReturnUrl += '/' + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                        }
                    }
                }
                else
                {
                    ReturnUrl = Request.QueryString["ReturnUrl"].ToString();
                }
                if (!IsParent)
                {
                    RedUrl = GetParentURL + "/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + SageFrameSettingKeys.PageExtension;

                }
                else
                {
                    RedUrl = GetParentURL + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + SageFrameSettingKeys.PageExtension;
                }

            }
            else
            {

                if (EnableSessionTracker)
                {
                    SageFrame.Web.SessionLog sLog = new SageFrame.Web.SessionLog();
                    sLog.SessionLogEnd(GetPortalID);
                }

                SecurityPolicy objSecurity = new SecurityPolicy();
                HttpCookie authenticateCookie = new HttpCookie(objSecurity.FormsCookieName(GetPortalID));
                authenticateCookie.Expires = DateTime.Now.AddYears(-1);
                string randomCookieValue = GenerateRandomCookieValue();
                HttpContext.Current.Session[SessionKeys.RandomCookieValue] = randomCookieValue;
                Response.Cookies.Add(authenticateCookie);
                lnkloginStatus.Text = "Login";
                SetUserRoles(string.Empty);
                //create new sessionID
                SessionIDManager manager = new SessionIDManager();
                manager.RemoveSessionID(System.Web.HttpContext.Current);
                var newId = manager.CreateSessionID(System.Web.HttpContext.Current);
                var isRedirected = true;
                var isAdded = true;
                manager.SaveSessionID(System.Web.HttpContext.Current, newId, out isRedirected, out isAdded);

                if (!IsParent)
                {
                    RedUrl = GetParentURL + "/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                }
                else
                {
                    RedUrl = GetParentURL + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                }
            }
            CheckOutHelper cHelper = new CheckOutHelper();
            cHelper.ClearSessions();            

            FormsAuthentication.SignOut();
            Response.Redirect(RedUrl, false);
        }
        catch (Exception ex)
        {
            ProcessException(ex);
        }
    }
예제 #12
0
        protected void lnkloginStatus_Click(object sender, EventArgs e)
        {
            try
            {
                ///Update the Session Tracker
                SessionTracker sessionTracker = (SessionTracker)Session["Tracker"];
                SageFrame.Web.SessionLog sLog = new SageFrame.Web.SessionLog();
                sLog.SessionLogEnd(sessionTracker);

                SessionTracker sessionTrackerNew = new SessionTracker();
                if (sessionTrackerNew != null)
                {
                    SageFrame.Web.SessionLog sLogNew = new SageFrame.Web.SessionLog();
                    sLogNew.SessionLogStart(sessionTrackerNew);
                }
                HttpContext.Current.Session["Tracker"] = sessionTrackerNew;


                string ReturnUrl = string.Empty;
                string RedUrl = string.Empty;
                SageFrameConfig sfConfig = new SageFrameConfig();
                if (lnkloginStatus.CommandName == "LOGIN")
                {
                    if (IsUseFriendlyUrls)
                    {
                        if (Request.QueryString["ReturnUrl"] == null)
                        {
                            ReturnUrl = Request.RawUrl.ToString();
                            if (!(ReturnUrl.ToLower().Contains(".aspx")))
                            {
                                //ReturnUrl = ReturnUrl.Remove(strURL.LastIndexOf('/'));
                                if (ReturnUrl.EndsWith("/"))
                                {
                                    ReturnUrl += sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx";
                                }
                                else
                                {
                                    ReturnUrl += '/' + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx";
                                }
                            }
                        }
                        else
                        {
                            ReturnUrl = Request.QueryString["ReturnUrl"].ToString();
                        }
                        if (GetPortalID > 1)
                        {
                            RedUrl = "~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + ".aspx?ReturnUrl=" + ReturnUrl;

                        }
                        else
                        {
                            RedUrl = "~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + ".aspx?ReturnUrl=" + ReturnUrl;
                        }
                    }
                    else
                    {
                        string[] arrUrl;
                        string strURL = string.Empty;
                        arrUrl = Request.RawUrl.Split('?');
                        string[] keys = Request.QueryString.AllKeys;
                        for (int i = 0; i < Request.QueryString.Count; i++)
                        {
                            string[] values = Request.QueryString.GetValues(i);
                            if (values != null) strURL += keys[i] + '=' + values[0] + '&';
                        }
                        if (strURL.Length > 0)
                        {
                            strURL = strURL.Remove(strURL.LastIndexOf('&'));
                        }
                        ReturnUrl = arrUrl[0] + Server.UrlEncode(strURL.Length > 0 ? "?" + strURL : "");
                        //Response.Redirect("~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + pb.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + "&ReturnUrl=" + (Request.QueryString["pgnm"] == null ? pb.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) : Request.QueryString["pgnm"].ToString()));
                        RedUrl = "~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + "&ReturnUrl=" + ReturnUrl;
                    }
                }
                else
                {
                    //TODO:: Clear the session HERE
                    RegenerateSessionID();
                    FormsAuthentication.SignOut();
                    lnkloginStatus.Text = "Login";
                    SetUserRoles(string.Empty);                    
                    if (IsUseFriendlyUrls)
                    {
                        if (GetPortalID > 1)
                        {
                            RedUrl = "~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx";
                        }
                        else
                        {
                            RedUrl = "~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx";
                        }
                    }
                    else
                    {
                        RedUrl = "~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage);                        
                    }
                }
                Response.Redirect(RedUrl, false);
            }
            catch (Exception ex)
            {
                ProcessException(ex);
            }
        }
예제 #13
0
        public void SessionLogEnd(SessionTracker tracker)
        {
            try
            {
                //string hostAddress = tracker.SessionUserHostAddress.ToString();
                //string userAgent = tracker.SessionUserAgent != null ? tracker.SessionUserAgent.ToString() : string.Empty;
                //string browser = tracker.Browser.Browser != null ? tracker.Browser.Browser.ToString() : string.Empty;
                //string crawler = tracker.Browser.Crawler != null ? tracker.Browser.Crawler.ToString() : string.Empty;
                //string sessionUrl = tracker.SessionURL != null ? tracker.SessionURL.ToString() : string.Empty;
                //string visitCount = tracker.VisitCount != null ? tracker.VisitCount.ToString() : string.Empty;
                //string referrer = tracker.OriginalReferrer != null ? tracker.OriginalReferrer.ToString() : string.Empty;
                //string orgUrl = tracker.OriginalURL != null ? tracker.OriginalURL.ToString() : string.Empty;
                //string username = tracker.Username != null ? tracker.Username.ToString() : string.Empty;
                //string portalID = tracker.PortalID != null ? tracker.PortalID.ToString() : string.Empty;
                //List<KeyValuePair<string, string>> ParaMeterCollection = new List<KeyValuePair<string, string>>();
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionUserHostAddress", hostAddress));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionUserAgent", userAgent));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionBrowser", browser));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionCrawler", crawler));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionURL", sessionUrl));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionVisitCount", visitCount));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionOriginalReferrer", referrer));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@SessionOriginalURL", orgUrl));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@UserName", username));
                //ParaMeterCollection.Add(new KeyValuePair<string, string>("@PortalID", portalID));
                //SQLHandler sagesql = new SQLHandler();
                //int insertedID = sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerAdd", ParaMeterCollection, "@InsertedID");
                List <KeyValuePair <string, string> > ParaMeterCollection = new List <KeyValuePair <string, string> >();
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@SessionTrackerID", tracker.SessionTrackerID.ToString()));
                ParaMeterCollection.Add(new KeyValuePair <string, string>("@PortalID", tracker.PortalID.ToString()));
                SQLHandler sagesql = new SQLHandler();
                sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerUpdateEND", ParaMeterCollection);
                if (bool.Parse(tracker.InsertSessionTrackerPages))
                {
                    if ((tracker.Pages != null))
                    {
                        ArrayList pages        = tracker.Pages;
                        string    body         = string.Empty;
                        DateTime  FirstTime    = Convert.ToDateTime("00:00:00");
                        DateTime  PreviousTime = Convert.ToDateTime("00:00:00");
                        TimeSpan  ElapsedTime;
                        bool      first    = true;
                        string    lastPage = null;
                        foreach (SessionTrackerPage pti in pages)
                        {
                            if (first)
                            {
                                FirstTime   = pti.Time;
                                first       = false;
                                ElapsedTime = new TimeSpan(0, 0, 0);
                            }
                            else
                            {
                                ElapsedTime = PreviousTime.Subtract(FirstTime);
                            }

                            List <KeyValuePair <string, string> > ParaMeterCollection1 = new List <KeyValuePair <string, string> >();
                            ParaMeterCollection1.Add(new KeyValuePair <string, string>("@SessionTrackerID", tracker.SessionTrackerID.ToString()));
                            ParaMeterCollection1.Add(new KeyValuePair <string, string>("@SessionTrackerPage", pti.PageName));
                            ParaMeterCollection1.Add(new KeyValuePair <string, string>("@SessionTrackerTime", ElapsedTime.ToString().Substring(0, 8)));
                            int insertedPageID = sagesql.ExecuteNonQuery("dbo.sp_SessionTrackerPageAdd", ParaMeterCollection1, "@InsertedID");
                            lastPage     = pti.PageName;
                            PreviousTime = pti.Time;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
    protected void lnkloginStatus_Click(object sender, EventArgs e)
    {
        try
        {
            ///Update the Session Tracker
            SessionTracker sessionTracker = (SessionTracker)Session[SessionKeys.Tracker];
            if (sessionTracker != null)
            {
                SageFrame.Web.SessionLog sLog = new SageFrame.Web.SessionLog();
                sLog.SessionLogEnd(sessionTracker);
            }
            SessionTracker sessionTrackerNew = new SessionTracker();
            if (sessionTrackerNew != null)
            {
                SageFrame.Web.SessionLog sLogNew = new SageFrame.Web.SessionLog();
                sLogNew.SessionLogStart(sessionTrackerNew);
            }
            HttpContext.Current.Session[SessionKeys.Tracker] = sessionTrackerNew;
            string ReturnUrl = string.Empty;
            string RedUrl = string.Empty;
            SageFrameConfig sfConfig = new SageFrameConfig();
            if (lnkloginStatus.CommandName == "LOGIN")
            {
                if (IsUseFriendlyUrls)
                {
                    if (Request.QueryString["ReturnUrl"] == null)
                    {
                        ReturnUrl = Request.RawUrl.ToString();
                        if (!(ReturnUrl.ToLower().Contains(SageFrameSettingKeys.PageExtension)))
                        {
                            //ReturnUrl = ReturnUrl.Remove(strURL.LastIndexOf('/'));
                            if (ReturnUrl.EndsWith("/"))
                            {
                                ReturnUrl += sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                            }
                            else
                            {
                                ReturnUrl += '/' + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                            }
                        }
                    }
                    else
                    {
                        ReturnUrl = Request.QueryString["ReturnUrl"].ToString();
                    }
                    if (GetPortalID > 1)
                    {
                        RedUrl = "~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + SageFrameSettingKeys.PageExtension;

                    }
                    else
                    {
                        RedUrl = "~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + SageFrameSettingKeys.PageExtension;
                    }
                }
                else
                {
                    string[] arrUrl;
                    string strURL = string.Empty;
                    arrUrl = Request.RawUrl.Split('?');
                    string[] keys = Request.QueryString.AllKeys;
                    for (int i = 0; i < Request.QueryString.Count; i++)
                    {
                        string[] values = Request.QueryString.GetValues(i);
                        strURL += keys[i] + '=' + values[0] + '&';
                    }
                    if (strURL.Length > 0)
                    {
                        strURL = strURL.Remove(strURL.LastIndexOf('&'));
                    }
                    ReturnUrl = arrUrl[0] + Server.UrlEncode(strURL.Length > 0 ? "?" + strURL : "");
                    RedUrl = "~/Default" + Extension + "?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage) + "&ReturnUrl=" + ReturnUrl;
                }
            }
            else
            {
            //                FormsAuthentication.SignOut();                
                HttpCookie authenticateCookie = new HttpCookie(FormsAuthentication.FormsCookieName + "_" + GetApplicationName + "_" + GetPortalID);
                authenticateCookie.Expires = DateTime.Now.AddYears(-1);
                Response.Cookies.Add(authenticateCookie);
                lnkloginStatus.Text = "Login";
                SetUserRoles(string.Empty);
                if (IsUseFriendlyUrls)
                {
                    if (GetPortalID > 1)
                    {
                        RedUrl = "~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                    }
                    else
                    {
                        RedUrl = "~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-") + SageFrameSettingKeys.PageExtension;
                    }
                }
                else
                {
                    RedUrl = "~/Default" + Extension + "?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage).Replace(" ", "-");
                }
            }

            Response.Redirect(RedUrl, false);
        }
        catch (Exception ex)
        {
            ProcessException(ex);
        }
    }