protected void InitOCPage(User user, OCUserInfo userInfo) { SetOCInfo(user, userInfo); RedirectAppIfNotAllowed(user, Path404); SetupUserPage(user); SetTopMenuVisible(false); }
protected void SetOCInfo(User user, OCUserInfo userInfo) { if (user.ActivePartner != userInfo.ActivePartner) { for (int i = 0; i < user.PartnerList.Count; i++) { if (user.PartnerList[i].ID == userInfo.ActivePartner) { user.PartnerIndex = i; break; } } } Session[SKeys.IsTest] = userInfo.IsTest; }
public static OCUserInfo GetOCRecord(string usToken) { OCUserInfo info = new OCUserInfo(); if (string.IsNullOrEmpty(usToken)) { return(info); } string sToken = usToken.SQLEscape(); DBConnect connection = new DBConnect(); DateTime expTime = new DateTime(); try { connection.Connect(ConnectionsMgr.GetAdminConnInfo()); using (var queryUserAuthInfo = connection.Select(new[] { columnUserName, columnActivePartner, columnIsTest, columnCreateDate }, tableOCAuth, string.Format("WHERE {0}='{1}'", columnSessionID, sToken))) { if (queryUserAuthInfo.AffectedRows <= 0) { connection.Close(); return(info); } queryUserAuthInfo.Read(); info.UserName = queryUserAuthInfo.Field(0); info.ActivePartner = queryUserAuthInfo.Field(1); info.IsTest = queryUserAuthInfo.Field(2) == "1"; expTime = (DateTime)queryUserAuthInfo.Field2(3, DateTime.MinValue); connection.Delete(tableOCAuth, string.Format("WHERE {0}='{1}'", columnSessionID, sToken)); } connection.Close(); var authLimit = DateTime.Now.AddSeconds(-OCSessionTimeOutSeconds); if (expTime >= authLimit) //expire date must be within the last OCSessionTimeOutSeconds seconds { info.IsValid = true; } else { throw new Exception("Authentication time is not within range allowed. Auth Time: " + expTime.ToString("yyyy-MM-dd HH:mm:ss") + ", Auth Limit: " + authLimit.ToString("yyyy-MM-dd HH:mm:ss")); } return(info); } catch (Exception ex) { ProgramLog.LogError(null, "Auth", "GetOCRecord", ex.Message); connection.Close(); return(info); } }