private Result CheckToken(Reqesut requestModel) { Result result = new Result(); if (requestModel == null || string.IsNullOrWhiteSpace(requestModel.Data)) { result.IsSuccess = false; result.Message = "请求主体为空"; return(result); } if (string.IsNullOrWhiteSpace(requestModel.AccessToken)) { result.IsSuccess = false; result.Message = "密钥为空"; return(result); } if (!UserManager.LoginTokenDataList.ContainsKey(requestModel.AccessToken)) { result.IsSuccess = false; result.Message = "密钥已过期"; return(result); } result.IsSuccess = true; return(result); }
public IHttpActionResult ListDataTest([FromBody] Reqesut request) { Result <string> res = new Result <string>(); try { LoginResult loginResult = GetNewKey(request); var requestmodel = request.Data.DeserializeObject <object>(); var data = new { T = "12", KK = "xx", AccessToken = loginResult.AccessToken, Encryptionkey = loginResult.Encryptionkey }; res.IsSuccess = true; res.Data = data.ToJson(request.AccessToken); } catch (Exception ex) { res.IsSuccess = false; res.Message = ex.Message; } return(Ok(res)); }
public override void OnActionExecuting(HttpActionContext actionContext) { Reqesut request = (Reqesut)actionContext.ActionArguments["request"]; var retModel = CheckToken(request); if (retModel.IsSuccess) { request.Data = Encrypt.DecryptAes(request.Data, UserManager.LoginTokenDataList[request.AccessToken].Encryptionkey); request.NewAccessToken = retModel.Message; } else { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Accepted, retModel); } }
protected LoginResult GetNewKey(Reqesut request) { var oldLoginResult = UserManager.LoginTokenDataList[request.AccessToken]; var loginResult = new LoginResult { AccessToken = Encrypt.GetNewKey(), Encryptionkey = Encrypt.GetNewKey(), TokenExpiration = DateTime.Now.AddYears(100), UserInfo = new UserInfo { Email = oldLoginResult.UserInfo.Email, Id = oldLoginResult.UserInfo.Id, RegTime = oldLoginResult.UserInfo.RegTime, UserName = oldLoginResult.UserInfo.UserName, } }; UserManager.AddTokenToTokenCache(loginResult); return(loginResult); }