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); }
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("删除用户登录状态记录失败"); } } })); }