/// <summary>
        /// 
        /// </summary>
        /// <param name="user"></param>
        /// <param name="realUser"></param>
        public GenericTicketPrincipal(ITicketToken user, ITicketToken realUser)
        {
            user.NullCheck("user");
            realUser.NullCheck("realUser");

            this._Identity = new GenericTicketIdentity(user, realUser);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="realUser"></param>
        public GenericTicketPrincipal(ITicketToken user, ITicketToken realUser)
        {
            user.NullCheck("user");
            realUser.NullCheck("realUser");

            this._Identity = new GenericTicketIdentity(user, realUser);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        public GenericTicketTokenContainer(ITicketToken user)
        {
            user.NullCheck("user");

            this.User     = new GenericTicketToken(user);
            this.RealUser = new GenericTicketToken(user);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        public GenericTicketIdentity(ITicketToken user)
        {
            user.NullCheck("user");

            this.User     = new GenericTicketToken(user);
            this.RealUser = new GenericTicketToken(user);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="user"></param>
        public GenericTicketIdentity(ITicketToken user)
        {
            user.NullCheck("user");

            this.User = new GenericTicketToken(user);
            this.RealUser = new GenericTicketToken(user);
        }
        /// <summary>
        /// 构造方法
        /// </summary>
        /// <param name="token"></param>
        public GenericTicketToken(ITicketToken token)
        {
            token.NullCheck("token");

            this.ID          = token.ID;
            this.Name        = token.Name;
            this.DisplayName = token.DisplayName;
        }