using System; using System.Runtime.Serialization; using MECF.Framework.Common.Account.Extends; namespace Aitex.Core.Account; /// /// 登录凭据。 /// /// /// RT使用该对象维护用户登录信息,包括:登录激活状态维持、WCF远程调用权限验证。 /// [Serializable] [DataContract] public class Credential { #region Consturctors /// /// 创建登录凭据的实例。 /// /// /// 该构造函数用于WCF通讯,RT中创建该对象是请使用有参数的构造函数。 /// public Credential() { } /// /// 创建登录凭据的实例。 /// /// 登录令牌。 /// 登录账户信息。 public Credential(string token, AccountEx accountInfo) { Token = token; AccountInfo = accountInfo; } #endregion #region Properties /// /// 设置或返回当前凭据包含的令牌。 /// [DataMember] public string Token { get; set; } /// /// 设置或返回当前凭据状态 /// [DataMember] public CredentialState State { get; set; } /// /// 设置或返回最后一次激活时间。 /// [DataMember] public DateTime LastAliveTime { get; set; } /// /// 设置或返回登录的账户信息。 /// [DataMember] public AccountEx AccountInfo { get; set; } /// /// 设置或返回客户端IP地址。 /// public string LoginIP { get; set; } /// /// 设置或返回客户端Port。 /// public int LoginPort { get; set; } /// /// 设置或返回登录时间。 /// public DateTime LoginTime { get; set; } /// /// 设置或返回登录结果描述。 /// public string Description { get; set; } #endregion #region Methods /// public override string ToString() { return $"{AccountInfo.LoginName} from {LoginIP}:{LoginPort}"; } #endregion }