Example #1
0
 protected void InitOCPage(User user, OCUserInfo userInfo)
 {
     SetOCInfo(user, userInfo);
     RedirectAppIfNotAllowed(user, Path404);
     SetupUserPage(user);
     SetTopMenuVisible(false);
 }
Example #2
0
 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;
 }
Example #3
0
        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);
            }
        }