Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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)));
            }
        }