/// <summary> /// ユーザー情報変更ボタンを押下 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChangeUserInfoButtonClick(object sender, EventArgs e) { if (userNameTextBox.TextLength < 1) { MessageBox.Show("ユーザー名は1文字以上、32文字以内で入力してください。", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("入力されたユーザー名が文字数制限を満たしていない。"); } else if (passwordTextBox.TextLength < 8) { MessageBox.Show("パスワードは8文字以上、32文字以内で入力してください。", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("入力されたパスワードが文字数制限を満たしていない。"); } else if (passwordTextBox.Text != passwordConfirmationTextBox.Text) { MessageBox.Show("パスワードとパスワード(確認)は同じ値を入力してください。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("パスワードとパスワード(確認)の入力値が一致していない。"); } else { var userId = _user.UserId; var newUserName = userNameTextBox.Text; HashedPassword hash = new HashedPassword(); var hashedNewPassword = hash.GetHashedTextString(passwordTextBox.Text); DateTime newStartDate = startEffectiveDateTimePicker.Value; DateTime newEndingDate = endingEffectiveDateTimePicker.Value; DbManager.UpdateUserInfo(userId, newUserName, hashedNewPassword, newStartDate, newEndingDate); MessageBox.Show("ユーザー情報を変更しました。", "確認", MessageBoxButtons.OK, MessageBoxIcon.None); logger.Info("userId:" + userId + "のユーザー情報を変更しました。"); } }
/// <summary> /// パスワード変更 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RegistrationButtonClick(object sender, EventArgs e) { var inputUseId = userIdTextBox.Text; var inputCurrentPassword = currentPasswordTextBox.Text; HashedPassword hash = new HashedPassword(); var hashedCurrentPassword = hash.GetHashedTextString(inputCurrentPassword); Users user = DbManager.FindUserId(inputUseId); //パスワード変更条件 if (user.UserId != inputUseId) { MessageBox.Show("ユーザーIDが正しくありません", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("パスワードの変更に失敗しました。正しいユーザーIDを入力してください。"); } else if (user.Password != hashedCurrentPassword) { MessageBox.Show("現在のパスワードが正しくありません", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("パスワードの変更に失敗しました。正しい現在のパスワードを入力してください。"); } else if (newPasswordTextBox.TextLength < 8 || 32 < newPasswordTextBox.TextLength) { MessageBox.Show("パスワードは8文字以上、32文字以内で入力してください。", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("入力されたパスワードが文字数制限を満たしていない。"); } else if (newPasswordTextBox.Text != newPasswordConfirmationTextBox.Text) { MessageBox.Show("新しいパスワードと新しいパスワード(確認)は同じ値を入力してください。。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("パスワードとパスワード(確認)の入力値が一致していない。"); } else { var hashedNewPassword = hash.GetHashedTextString(newPasswordTextBox.Text); DateTime startDate = startEffectiveDateTimePicker.Value; DateTime endingDate = endingEffectiveDateTimePicker.Value; DbManager.ChangePassword(inputUseId, hashedNewPassword, startDate, endingDate); MessageBox.Show("パスワードを変更しました。", "確認", MessageBoxButtons.OK, MessageBoxIcon.None); logger.Info("ユーザーID" + user.UserId + "のパスワードを変更しました。"); } }
/// <summary> /// 登録ボタンを押下 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RegistrationButtonClick(object sender, EventArgs e) { if (DbManager.FindUserId(userIdTextBox.Text) != null) { MessageBox.Show("このユーザーIDは登録されています。", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("入力されたユーザーIDは既に登録されている。"); } else if (userIdTextBox.TextLength < 4) { MessageBox.Show("ユーザーIDは4文字以上、32文字以内で入力してください。", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("入力されたユーザーIDが文字数制限を満たしていない。"); } else if (userNameTextBox.TextLength < 1) { MessageBox.Show("ユーザー名は1文字以上、32文字以内で入力してください。", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("入力されたユーザー名が文字数制限を満たしていない。"); } else if (passwordTextBox.TextLength < 8) { MessageBox.Show("パスワードは8文字以上、32文字以内で入力してください。", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("入力されたパスワードが文字数制限を満たしていない。"); } else if (passwordTextBox.Text != passwordConfirmationTextBox.Text) { MessageBox.Show("パスワードとパスワード(確認)は同じ値を入力してください。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("パスワードとパスワード(確認)の入力値が一致していない。"); } else { var userName = userNameTextBox.Text; var userId = userIdTextBox.Text; HashedPassword hash = new HashedPassword(); var hashedNewPassword = hash.GetHashedTextString(passwordTextBox.Text); DateTime startDate = startEffectiveDateTimePicker.Value; DateTime endingDate = endingEffectiveDateTimePicker.Value; DbManager.RegisterUser(userName, userId, hashedNewPassword, startDate, endingDate); MessageBox.Show("登録しました。", "確認", MessageBoxButtons.OK, MessageBoxIcon.None); logger.Info("userId:" + userId + "を新規登録しました。"); } }
private void LoginButtonClick(object sender, EventArgs e) { Users user = DbManager.FindUserId(userIdTextBox.Text); var dt = DateTime.Now; //パスワードをハッシュ化 HashedPassword hash = new HashedPassword(); var hashedPassword = hash.GetHashedTextString(passwordTextBox.Text); //ログイン条件 if (user == null) { MessageBox.Show("ユーザーIDが正しくありません", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("ログインに失敗しました。正しいユーザーIDを入力してください。"); } else if (user.Password != hashedPassword) { MessageBox.Show("パスワードが正しくありません", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("ログインに失敗しました。正しいパスワードを入力してください。"); } else if (user.StartedOn > dt || dt > user.ExpiredOn) { MessageBox.Show("パスワードの有効期限が切れています", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); logger.Warn("ログインに失敗しました。パスワード変更ボタンから新しいパスワードを設定してください。"); } else { userIdTextBox.Clear(); passwordTextBox.Clear(); StudyList studylist = new StudyList(user); studylist.ShowDialog(); logger.Info("ユーザーID" + user.UserId + "がログインしました。"); } }