Beispiel #1
0
        private bool ValidateUserToken(ResponseModel response, byte[] userToken, out string userName)
        {
            userName = null;
            var user     = BinarySerialization.ReadFromBytes <TokenRequestModel>(userToken);
            var userlist = UserLoginState.FindAllByToken(user.Token);

            if (userlist.Count == 0)
            {
                response.Status  = -2;
                response.Message = "用户未登录";
                return(false);
            }
            if (userlist[0].ExpireDate < DateTime.Now)
            {
                response.Status  = -3;
                response.Message = "用户登录已过期,请重新登录";
                userlist[0].Delete();
                return(false);
            }
            userName = userlist[0].UserName;
            if (userlist.Count > 1)
            {
                userlist.RemoveAt(0);
                userlist.Delete();
            }
            return(true);
        }
Beispiel #2
0
 public byte[] Logout(byte[] userToken)
 {
     return(RunAction <ResponseModel>(() =>
     {
         var user = BinarySerialization.ReadFromBytes <TokenRequestModel>(userToken);
         var userlist = UserLoginState.FindAllByToken(user.Token);
         if (userlist.Count > 0)
         {
             int r = userlist.Delete();
             if (r != userlist.Count)
             {
                 throw new Exception("删除用户登录状态记录失败");
             }
         }
     }));
 }