Example #1
0
        private void DrawDebug()
        {
            palette.Draw();
            Engine.WriteText(new Point(224, 0), GetFramerate().ToString(), 0, 15);
            Engine.WriteText(new Point(224, 1), time.ToString(), 0, 15);
            Engine.WriteText(new Point(224, 2), DeltaTime.ToString(), 0, 15);

            Engine.SetPixel(cursorPos, (int)ConsoleColor.Green);
            Engine.WriteText(new Point(224, 4), cursorPos.ToString(), 15);
        }
        public virtual dtoUrlToken ValidateToken(dtoUrlToken urlToken)
        {
            dtoUrlToken item = new dtoUrlToken()
            {
                Identifier = urlToken.Identifier, Value = urlToken.Value
            };
            dtoUrlUserDateToken dto         = null;
            DateTime            currentDate = DateTime.Now;

            try
            {
                item.DecriptedValue = GetTokenIdentifier(urlToken.Value);
                dto = DecryptToken(urlToken.Value);
                if (dto != null)
                {
                    if (currentDate - dto.Data <= DeltaTime)
                    {
                        item.Evaluation.Result = UrlProviderResult.ValidToken;
                    }
                    else
                    {
                        item.Evaluation.Result = UrlProviderResult.ExpiredToken;
                    }
                }
                else
                {
                    item.Evaluation.Result = UrlProviderResult.InvalidToken;
                }
            }
            catch (Exception ex)
            {
                item.Evaluation.Result = UrlProviderResult.InvalidToken;
                if (dto != null)
                {
                    item.Evaluation.TokenException = dto.ExceptionString;
                }
                item.SetException(ex);
            }
            if (item.Evaluation.Result != UrlProviderResult.ValidToken)
            {
                item.Evaluation.FullDecriptedValue = lm.Comol.Core.Authentication.Helpers.CryptoUtils.DecryptValue(urlToken.Value, EncryptionInfo);
            }
            if (item.Evaluation.Result == UrlProviderResult.ExpiredToken)
            {
                item.Evaluation.ExpiredMessage = "currentDate=" + currentDate.ToString() + "\n\rdto.Data= " + dto.Data.ToString()
                                                 + "\n\rDeltaTime (" + DeltaTime.Milliseconds + ") =" + DeltaTime.ToString() + "\n\r(currentDate - dto.Data) =" + (currentDate - dto.Data).ToString();
            }

            return(item);
        }
        public virtual dtoMacUrlToken ValidateToken(List <dtoMacUrlUserAttribute> attributes, String ipAddress, String proxyIpAddress)
        {
            dtoMacUrlToken item = new dtoMacUrlToken()
            {
                Attributes = attributes
            };
            DateTime           currentDate    = DateTime.Now;
            DateTime?          tokenTimeStamp = null;
            TimestampAttribute timeAttribute  = null;
            String             calculatedMac  = "";

            try
            {
                if (isValidIpAddress(ipAddress, proxyIpAddress))
                {
                    if (ValidateRequiredAttributes(attributes) && ValidateMacAttribute(attributes, ref calculatedMac))
                    {
                        timeAttribute = (TimestampAttribute)Attributes.Where(a => a.Deleted == BaseStatusDeleted.None && a.Type == UrlMacAttributeType.timestamp).FirstOrDefault();
                        if (timeAttribute != null)
                        {
                            tokenTimeStamp = timeAttribute.GetDate(attributes.Where(a => a.Id == timeAttribute.Id).Select(a => a.QueryValue).FirstOrDefault());
                            if (tokenTimeStamp.HasValue)
                            {
                                if (currentDate - tokenTimeStamp.Value <= DeltaTime)
                                {
                                    item.Evaluation.Result = UrlProviderResult.ValidToken;
                                }
                                else
                                {
                                    item.Evaluation.Result = UrlProviderResult.ExpiredToken;
                                }
                            }
                            else
                            {
                                item.Evaluation.Result = UrlProviderResult.InvalidToken;
                            }
                        }
                        else
                        {
                            item.Evaluation.Result = UrlProviderResult.ValidToken;
                        }
                        if (item.Evaluation.Result == UrlProviderResult.ValidToken)
                        {
                            item.InternalMac = GetInternalMac(attributes);
                        }
                    }
                    else
                    {
                        item.Evaluation.Result = UrlProviderResult.InvalidToken;
                    }
                }
                else
                {
                    item.Evaluation.Result = UrlProviderResult.InvalidIpAddress;
                }
            }
            catch (Exception ex)
            {
                item.Evaluation.Result = UrlProviderResult.InvalidToken;

                item.SetException(ex);
            }
            item.Evaluation.Mac = calculatedMac;
            if (item.Evaluation.Result == UrlProviderResult.ExpiredToken && timeAttribute != null)
            {
                item.Evaluation.ExpiredMessage = (tokenTimeStamp.HasValue) ? "currentDate=" + currentDate.ToString() + "\n\rdto.Data= " + tokenTimeStamp.Value.ToString()
                                                 + "\n\rDeltaTime (" + DeltaTime.Milliseconds + ") =" + DeltaTime.ToString() + "\n\r(currentDate - tokenTimeStamp.Value) =" + (currentDate - tokenTimeStamp.Value).ToString() : "currentDate=" + currentDate.ToString();
            }

            return(item);
        }