public github GetGithubInfo() { var rv = Wtm.ReadFromCache <github>("githubinfo", () => { var s = Wtm.CallAPI <github>("github", "repos/dotnetcore/wtm", 60).Result; return(s.Data); }, 1800); return(rv); }
public async Task <ActionResult> Login(LoginVM vm) { if (Wtm.ConfigInfo.IsQuickDebug == false) { var verifyCode = HttpContext.Session.Get <string>("verify_code"); if (string.IsNullOrEmpty(verifyCode) || verifyCode.ToLower() != vm.VerifyCode.ToLower()) { vm.MSD.AddModelError("", Localizer["Login.ValidationFail"]); return(View(vm)); } } Dictionary <string, string> data = new Dictionary <string, string>(); data.Add("account", vm.ITCode); data.Add("password", vm.Password); data.Add("withmenu", "false"); var user = await Wtm.CallAPI <LoginUserInfo>("", Request.Scheme + "://" + Request.Host.ToString() + "/api/_account/login", HttpMethodEnum.POST, data); if (user?.Data == null) { return(View(vm)); } else { Wtm.LoginUserInfo = user.Data; string url = string.Empty; if (!string.IsNullOrEmpty(vm.Redirect)) { url = vm.Redirect; } else { url = "/"; } AuthenticationProperties properties = null; if (vm.RememberLogin) { properties = new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTimeOffset.UtcNow.Add(TimeSpan.FromDays(30)) }; } var principal = user.Data.CreatePrincipal(); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal, properties); return(Redirect(HttpUtility.UrlDecode(url))); } }