/// <summary> /// 原始仿真时间 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static DateTime OriginalSimulateTime(this DateTime dt) { DateTime result = dt; if (DeluxePrincipal.IsAuthenticated) { DeluxeIdentity identity = DeluxeIdentity.Current; if (identity.Ticket != null) { object stObj = null; if (identity.Ticket.SignInInfo.Properties.TryGetValue("SimulateTime", out stObj)) { DateTime st = DateTime.Parse(stObj.ToString()); if (st != DateTime.MinValue) { result = new DateTime(st.Year, st.Month, st.Day, result.Hour, result.Minute, result.Second, result.Millisecond, DateTimeKind.Local); } else { result = st; } } } } return(result); }
/// <summary> /// 得到模拟的时间 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static DateTime SimulateTime(this DateTime dt) { DateTime result = dt; if (DeluxePrincipal.IsAuthenticated) { DeluxeIdentity identity = DeluxeIdentity.Current; if (identity.Ticket != null) { result = dt.OriginalSimulateTime(); if (result == DateTime.MinValue) { result = SNTPClient.AdjustedTime; } } } return(result); }
/// <summary> /// 构造函数 /// </summary> /// <param name="identity"></param> public DeluxePrincipal(DeluxeIdentity identity) { this.userIdentity = identity; }
/// <summary> /// 创建 <see cref="IPrincipal"/> 对象 /// </summary> /// <param name="tokenContainer">token的容器</param> /// <param name="ticket">票据</param> /// <returns></returns> public IPrincipal CreatePrincipal(GenericTicketTokenContainer tokenContainer, ITicket ticket) { DeluxeIdentity identity = new DeluxeIdentity(tokenContainer, ticket); return(new DeluxePrincipal(identity)); }
/// <summary> /// 创建 <see cref="IPrincipal"/> 对象 /// </summary> /// <param name="userID">用户标识</param> /// <param name="ticket">票据</param> /// <returns></returns> public IPrincipal CreatePrincipal(string userID, ITicket ticket) { DeluxeIdentity identity = new DeluxeIdentity(userID, ticket); return(new DeluxePrincipal(identity)); }