示例#1
0
        internal static IDictionary <string, string> GetLongDateAndShortDate(HttpRequest request, IHeaders iheaders)
        {
            string longDate;

            if (request.Headers.ContainsKey(iheaders.DateHeader()))
            {
                longDate = request.Headers[iheaders.DateHeader()];
            }
            else if (request.Headers.ContainsKey(Constants.CommonHeaders.Date))
            {
                longDate =
                    DateTime.ParseExact(request.Headers[Constants.CommonHeaders.Date], Constants.RFC822DateFormat, Constants.CultureInfo)
                    .ToString(Constants.LongDateFormat, Constants.CultureInfo);
            }
            else
            {
                longDate = DateTime.UtcNow.ToString(Constants.LongDateFormat, Constants.CultureInfo);
            }

            string shortDate = longDate.Substring(0, longDate.IndexOf("T"));
            IDictionary <string, string> tempDict = new Dictionary <string, string>();

            tempDict.Add("LongDate", longDate);
            tempDict.Add("ShortDate", shortDate);
            return(tempDict);
        }
示例#2
0
        internal void DoAuth(HttpRequest request, HttpContext context, IHeaders iheaders)
        {
            if (request.Headers.ContainsKey(Constants.CommonHeaders.Authorization))
            {
                request.Headers.Remove(Constants.CommonHeaders.Authorization);
            }

            if (request.Headers.ContainsKey(Constants.CommonHeaders.Date))
            {
                request.Headers.Remove(Constants.CommonHeaders.Date);
            }

            //date
            if (!request.Headers.ContainsKey(iheaders.DateHeader()))
            {
                request.Headers.Add(Constants.CommonHeaders.Date, DateTime.UtcNow.ToString(Constants.RFC822DateFormat, Constants.CultureInfo));
            }

            //host
            string endpoint = string.IsNullOrEmpty(context.RedirectLocation) ? request.Endpoint : context.RedirectLocation;

            request.Headers[Constants.CommonHeaders.Host] = request.GetHost(endpoint);

            // anonymous user
            if (string.IsNullOrEmpty(context.SecurityProvider.Ak) || string.IsNullOrEmpty(context.SecurityProvider.Sk))
            {
                return;
            }

            if (!string.IsNullOrEmpty(context.SecurityProvider.Token) && !request.Headers.ContainsKey(iheaders.SecurityTokenHeader()))
            {
                request.Headers.Add(iheaders.SecurityTokenHeader(), context.SecurityProvider.Token.Trim());
            }
            this._DoAuth(request, context, iheaders);
        }