Пример #1
0
        public static bool IsOwnerBy(this IMinerSign minerSign, IUser user)
        {
            if (!RpcRoot.IsOuterNet)
            {
                return(true);
            }
            if (string.IsNullOrEmpty(minerSign.OuterUserId))
            {
                return(false);
            }
            UserId userId = UserId.Create(minerSign.OuterUserId);

            switch (userId.UserIdType)
            {
            case UserIdType.LoginName:
                return(user.LoginName == userId.Value);

            case UserIdType.Email:
                return(user.Email == userId.Value);

            case UserIdType.Mobile:
                return(user.Mobile == userId.Value);

            default:
                return(false);
            }
        }
Пример #2
0
 public static bool CanReadBy(this IMinerSign minerSign, IUser user)
 {
     if (!RpcRoot.IsOuterNet || user.IsAdmin())
     {
         return(true);
     }
     return(minerSign.IsOwnerBy(user));
 }
Пример #3
0
 public void Update(IMinerSign minerSign)
 {
     this.ClientId      = minerSign.ClientId;
     this.LoginName     = minerSign.LoginName;
     this.OuterUserId   = minerSign.OuterUserId;
     this.AESPassword   = minerSign.AESPassword;
     this.AESPasswordOn = minerSign.AESPasswordOn;
 }
Пример #4
0
        public static bool IsAdminOrOwnerBy(this IMinerSign minerSign, IUser user)
        {
            bool result = IsOwnerBy(minerSign, user);

            if (!result)
            {
                result = user.IsAdmin();
            }
            return(result);
        }
Пример #5
0
 public static bool IsOwnerBy(this IMinerSign minerSign, IUser user)
 {
     if (user == null)
     {
         return(false);
     }
     if (string.IsNullOrEmpty(minerSign.LoginName))
     {
         return(false);
     }
     return(minerSign.LoginName == user.LoginName);
 }
Пример #6
0
 public static MinerData Create(IMinerSign minerSign)
 {
     return(new MinerData {
         Id = minerSign.Id,
         ClientId = minerSign.ClientId,
         LoginName = minerSign.LoginName,
         OuterUserId = minerSign.OuterUserId,
         AESPassword = minerSign.AESPassword,
         AESPasswordOn = minerSign.AESPasswordOn,
         WorkerName = string.Empty,
         MinerName = string.Empty,
         CreatedOn = DateTime.Now,
         GroupId = Guid.Empty,
         LocalIp = string.Empty,
         MinerIp = string.Empty,
         MACAddress = string.Empty,
         WindowsLoginName = string.Empty,
         WindowsPassword = string.Empty,
         WorkId = Guid.Empty,
         IsOuterUserEnabled = false
     });
 }
Пример #7
0
        // WebApiServer收到矿机签名变更事件但矿机不存在时
        public static ClientData Create(IMinerSign minerSign)
        {
            var minerData = MinerData.Create(minerSign);

            return(Create(minerData));
        }