コード例 #1
0
        /// <summary>
        /// Signs user in the system
        /// </summary>
        /// <param name="signInUser"></param>
        /// <returns></returns>
        public async Task<BooleanResponse> SignInUser(SignInRequest signInUser)
        {
            var response = new BooleanResponse();
            
            try
            {

                const string errorMessage = "Invalid Email or Password";

                var user = await UserManager.FindByNameAsync(signInUser.Email);
                if (user == null)
                {
                    response.SetError(errorMessage);
                }

                var isValidUser = await UserManager.CheckPasswordAsync(user, signInUser.Password);

                if (isValidUser)
                {
                    AuthManager.SignOut();
                    var identity = await user.GenerateUserIdentityAsync(UserManager);

                    if (signInUser.RememberMe)
                    {
                        var rememberBrowserIdentity = AuthManager.CreateTwoFactorRememberBrowserIdentity(user.Id);
                        AuthManager.SignIn(new AuthenticationProperties { IsPersistent = true }, identity, rememberBrowserIdentity);
                    }
                    else
                    {
                        AuthManager.SignIn(new AuthenticationProperties { IsPersistent = true }, identity);
                    }

                    response.Result = true;
                }
                else
                {
                    response.SetError("");
                }
            }
            catch (Exception ex)
            {
                response.SetError(ex);
            }

            return response;
        }
コード例 #2
0
 /// <summary>
 /// Signs user in the system
 /// </summary>
 /// <param name="signInUser"></param>
 /// <returns></returns>
 public async Task<BooleanResponse> SignInUser(SignInRequest signInUser)
 {
     var manager =
         StatWinner.Common.DependencyInjection.DependencyContainer.GetInstance<IUserAccountManagement>();
     return await manager.SignInUser(signInUser);
 }
コード例 #3
0
 public async Task<BooleanResponse> SignInUser(SignInRequest signInUser)
 {
     var accountManagement = new UserAccountManagement();
     var signInResult = await accountManagement.SignInUser(signInUser);
     return signInResult;
 }