コード例 #1
0
ファイル: Login.aspx.cs プロジェクト: adityakoundinya/Cecelia
    protected void btnLogin_Click(object sender, EventArgs e)
    {
        Users      u    = new Users();
        UserWorker uw   = new UserWorker();
        Users      user = null;

        try {
            user = uw.Login(txtUserName.Text, txtPassWord.Text);

            if (user != null)
            {
                Session.Add("User", user);
                Response.Redirect("Home.aspx");
            }
            else
            {
                txtUserName.Text      = string.Empty;
                txtPassWord.Text      = string.Empty;
                lblLoginError.Text    = "Incorrect Credentials. Please check your username and/or password";
                lblLoginError.Visible = true;
            }
        } catch (SqlException ex) {
            lblLoginError.Text    = ex.Message;
            lblLoginError.Visible = true;
        }
    }
コード例 #2
0
ファイル: AccountLoginWorker.cs プロジェクト: dimaserd/XDoc
        public async Task <BaseApiResponse <LoginResultModel> > LoginAsync(LoginModel model, SignInManager <ApplicationUser> signInManager)
        {
            var validation = ValidateModel(model);

            if (!validation.IsSucceeded)
            {
                return(new BaseApiResponse <LoginResultModel>(validation));
            }

            if (IsAuthenticated)
            {
                return(new BaseApiResponse <LoginResultModel>(false, "Вы уже авторизованы в системе", new LoginResultModel {
                    Result = LoginResult.AlreadyAuthenticated
                }));
            }

            model.RememberMe = true;

            var user = await signInManager.UserManager.FindByEmailAsync(model.Email);

            if (user == null)
            {
                return(new BaseApiResponse <LoginResultModel>(false, "Неудачная попытка входа", new LoginResultModel {
                    Result = LoginResult.UnSuccessfulAttempt
                }));
            }

            try
            {
                var userWorker = new UserWorker(AmbientContext);

                //проверяю пароль
                var passCheckResult = await userWorker.CheckUserNameAndPasswordAsync(user.Id, user.UserName, model.Password);

                //если пароль не подходит выдаю ответ
                if (!passCheckResult.IsSucceeded)
                {
                    return(new BaseApiResponse <LoginResultModel>(false, "Неудачная попытка входа", new LoginResultModel {
                        Result = LoginResult.UnSuccessfulAttempt, TokenId = null
                    }));
                }

                await signInManager.SignInAsync(user, model.RememberMe);
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);

                return(new BaseApiResponse <LoginResultModel>(false, ex.Message));
            }


            return(new BaseApiResponse <LoginResultModel>(true, "Авторизация прошла успешно", new LoginResultModel {
                Result = LoginResult.SuccessfulLogin, TokenId = null
            }));
        }
コード例 #3
0
 protected void btnAddUser_Click(object sender, EventArgs e)
 {
     if (txtPassword.Text != string.Empty && txtUserId.Text != string.Empty && txtUserName.Text != string.Empty && txtVerifyPassword.Text != string.Empty)
     {
         if (txtPassword.Text == txtVerifyPassword.Text)
         {
             Users u = new Users();
             u.UserName = txtUserName.Text;
             u.UserId   = txtUserId.Text;
             u.Password = txtPassword.Text;
             u.Role     = (Role)Enum.Parse(typeof(Role), ddlRole.SelectedItem.Text);
             UserWorker uw     = new UserWorker();
             bool       result = uw.AddUser(u);
             if (result)
             {
                 Response.Redirect("Home.aspx");
             }
             else
             {
                 lblError.Text    = "User already exists. Choose a different UserId";
                 lblError.Visible = true;
             }
         }
         else
         {
             lblError.Text          = "The passwords do not match. Please check and try again";
             lblError.Visible       = true;
             txtPassword.Text       = string.Empty;
             txtVerifyPassword.Text = string.Empty;
         }
     }
     else
     {
         lblError.Text    = "Enter all the information to add the new user";
         lblError.Visible = true;
     }
 }
コード例 #4
0
        public async Task <BaseApiResponse <LoginResultModel> > LoginAsync(LoginModel model, SignInManager <ApplicationUser> signInManager)
        {
            var validation = ValidateModel(model);

            if (!validation.IsSucceeded)
            {
                return(new BaseApiResponse <LoginResultModel>(validation));
            }

            if (IsAuthenticated)
            {
                return(new BaseApiResponse <LoginResultModel>(false, "Вы уже авторизованы в системе", new LoginResultModel {
                    Result = LoginResult.AlreadyAuthenticated
                }));
            }

            model.RememberMe = true;

            var user = await signInManager.UserManager.FindByEmailAsync(model.Email);

            var client = await Query <Client>()
                         .FirstOrDefaultAsync(x => x.Email == model.Email);

            if (user == null || client == null)
            {
                if (user != null && client == null)
                {
                    Logger.LogException(new Exception($"There is user without client {user.Id}"));
                }

                return(new BaseApiResponse <LoginResultModel>(false, "Неудачная попытка входа", new LoginResultModel {
                    Result = LoginResult.UnSuccessfulAttempt
                }));
            }

            if (client.DeActivated)
            {
                return(new BaseApiResponse <LoginResultModel>(false, "Ваша учетная запись деактивирована", new LoginResultModel {
                    Result = LoginResult.UserDeactivated
                }));
            }

            try
            {
                var userWorker = new UserWorker(AmbientContext);

                //проверяю пароль
                var passCheckResult = await userWorker.CheckUserNameAndPasswordAsync(user.Id, user.UserName, model.Password);

                //если пароль не подходит выдаю ответ
                if (!passCheckResult.IsSucceeded)
                {
                    return(new BaseApiResponse <LoginResultModel>(false, "Неудачная попытка входа", new LoginResultModel {
                        Result = LoginResult.UnSuccessfulAttempt, TokenId = null
                    }));
                }
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);

                return(new BaseApiResponse <LoginResultModel>(false, ex.Message));
            }

            return(new BaseApiResponse <LoginResultModel>(true, "Авторизация прошла успешно", new LoginResultModel {
                Result = LoginResult.SuccessfulLogin, TokenId = null
            }));
        }
コード例 #5
0
 public CreateUser()
 {
     InitializeComponent();
     userManager = new UserWorker();
 }
コード例 #6
0
ファイル: UserManager.cs プロジェクト: soccercjs2/fftoolkit
 public UserManager(DataContext context)
 {
     _context    = context ?? throw new Exception("The context cannot be null.");
     _userWorker = new UserWorker(_context);
 }
コード例 #7
0
        public async Task <bool> SetProperties(ObjectId userId, Dictionary <string, object> properties)
        {
            await _redisCache.Del($"User:{userId}");

            return(await UserWorker.SetProperties(userId, properties));
        }
コード例 #8
0
        public async Task <bool> SetProperty(ObjectId userId, string propertyName, object newPropertyValue)
        {
            await _redisCache.Del($"User:{userId}");

            return(await UserWorker.SetProperty(userId, propertyName, newPropertyValue));
        }
コード例 #9
0
 public async Task <ObjectId> InsertUser(UsersDB_UserDTO user) =>
 await UserWorker.InsertUser(user);
コード例 #10
0
 public async Task <UsersDB_UserDTO> GetUserByEmail(string email) =>
 await UserWorker.GetUserByEmail(email);
コード例 #11
0
 public async Task <UsersDB_UserDTO> GetUserByLogin(string login) =>
 await UserWorker.GetUserByLogin(login);
コード例 #12
0
 public async Task <UsersDB_UserDTO> GetUserByAuthData(string login, byte[] passwordHash) =>
 await UserWorker.GetUserByAuthData(login, passwordHash);
コード例 #13
0
 public async Task <UsersDB_UserDTO> GetUserById(ObjectId userId) =>
 await _redisCache.Get($"User:{userId}", async() => await UserWorker.GetUserById(userId));