/// <summary> /// 从Cookie中得到Ticket /// </summary> /// <returns><see cref="ITicket"/> 对象。</returns> public static ITicket GetTicket(out TicketSource tickedSource) { tickedSource = TicketSource.Unknown; Common.CheckHttpContext(); HttpContext context = HttpContext.Current; ITicket ticket = null; if (PassportClientSettings.GetConfig().Method == TicketTransferMethod.HttpPost && string.Compare(context.Request.HttpMethod, "POST", true) == 0) { tickedSource = TicketSource.FromForm; ticket = Ticket.LoadFromForm(); } else { tickedSource = TicketSource.FromUrl; ticket = Ticket.LoadFromUrl(); } if (IsTicketValid(ticket) == false) { tickedSource = TicketSource.FromHeader; ticket = Ticket.LoadFromHeader(); if (IsTicketValid(ticket) == false) { tickedSource = TicketSource.FromCookie; ticket = Ticket.LoadFromCookie(); //从Cookie中加载Ticket if (ticket != null) { Trace.WriteLine(string.Format("从cookie中找到用户{0}的ticket", ticket.SignInInfo.UserID), "PassportSDK"); } else { tickedSource = TicketSource.Unknown; } } } if (IsTicketValid(ticket) == true) { AdjustSignInTimeout(ticket); } return(ticket); }