コード例 #1
0
        public IActionResult Signin(USerLoginDto loginDto /*string Email, string Password,bool IsPersistent, string url = "/"*/)
        {
            //USerLoginDto request = new USerLoginDto()
            //{
            //    Username = Email,
            //    Password = Password,
            //    IsPersitent= IsPersistent,
            //    ReturnUrl=url,
            //};
            var signinResult = _userLoginService.Execute(loginDto);

            if (signinResult.Data.SignInResult.RequiresTwoFactor == true)
            {
                return(RedirectToAction("TwoFactorLogin", new { loginDto.Username, loginDto.IsPersitent }));
            }
            //if (signinResult.IsSuccess == true)
            //{
            //    var claims = new List<Claim>()
            //    {
            //        //new Claim(ClaimTypes.NameIdentifier,signinResult.Data.UserId),
            //        //new Claim(ClaimTypes.Email, Email),
            //        new Claim("FullName", signinResult.Data.FullName,ClaimValueTypes.String),
            //    };
            //    foreach (var item in signinResult.Data.Roles)
            //    {
            //        claims.Add(new Claim(ClaimTypes.Role, item));
            //    }
            //    var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
            //    var principal = new ClaimsPrincipal(identity);
            //    var properties = new AuthenticationProperties()
            //    {
            //        IsPersistent = IsPersistent,
            //        ExpiresUtc = DateTime.Now.AddDays(5),
            //    };
            //    HttpContext.SignInAsync(principal, properties);

            //}

            return(RedirectToAction("index", "home"));
        }