Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
 /// <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));
        }