private void TbPassword_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); int userId = int.Parse(config.AppSettings.Settings["UserId"].Value); // ログイン認証チェック User user = User.SelectUserFromId(userId); bool isSuccess = PasswordManager.VerifyPassword(user.Password, TbPassword.Text, user.Salt); // ログイン合否によって処理分岐 if (isSuccess) { OriginMBox.MBoxInfoOK(AppConst.LOGIN_SUCCESS); controller.User = user; Hide(); MainHouseholdABookForm bookForm = new MainHouseholdABookForm(controller); if (bookForm.ShowDialog() != DialogResult.OK) { Close(); } } else { OriginMBox.MBoxErrorOK(AppConst.LOGIN_ERROR); } } }
private void LoginYesOrNo() { //入力チェック if (string.IsNullOrEmpty(TbUserName.Text)) { OriginMBox.MBoxErrorOK(AppConst.USER_INPUT_ERROR); return; } if (string.IsNullOrEmpty(TbPassword.Text)) { OriginMBox.MBoxErrorOK(AppConst.PASSWORD_INPUT_ERROR); return; } // ログイン認証チェック Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); int userId = int.Parse(config.AppSettings.Settings["UserId"].Value); User user = User.SelectUserFromId(userId); bool isSuccess = PasswordManager.VerifyPassword(user.Password, TbPassword.Text, user.Salt); // ログイン合否によって処理分岐 if (isSuccess) { OriginMBox.MBoxInfoOK(AppConst.LOGIN_SUCCESS); controller.User = user; Hide(); MainHouseholdABookForm bookForm = new MainHouseholdABookForm(controller); if (bookForm.ShowDialog() != DialogResult.OK) { Close(); } } else { OriginMBox.MBoxErrorOK(AppConst.LOGIN_ERROR); } }
private void BtnOk_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(TbPassword.Text)) { OriginMBox.MBoxErrorOK(AppConst.PASSWORD_INPUT_ERROR); return; } // コントロール有り無しで動作を変更 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); int userId = int.Parse(config.AppSettings.Settings["UserId"].Value); if (controller == null) { // パスワード変更前に以前のユーザー情報取得 User beforeUserInfo = User.SelectUserFromId(userId); // パスワード変更処理のため、パスワード再作成 (string hashed, string salt) = PasswordManager.HashPassword(TbPassword.Text); // 以前のパスワードと更新パスワードが同一かどうか確認 bool isSame = hashed != beforeUserInfo.Password; if (!isSame) { OriginMBox.MBoxErrorOK(AppConst.PASSWORD_BEFORE_ERROR); } User updateUser = User.UpdatePasswordAndSalt(userId, hashed, salt); if (updateUser == null) { return; } // 更新パスワードがあっているかどうか bool isSuccess = PasswordManager.VerifyPassword(updateUser.Password, TbPassword.Text, updateUser.Salt); if (isSuccess && !string.IsNullOrEmpty(config.AppSettings.Settings["HashPassword"].Value)) { config.AppSettings.Settings["HashPassword"].Value = updateUser.Password; config.Save(); OriginMBox.MBoxInfoOK(AppConst.PASSWORD_UPDATE_SUCCESS); this.DialogResult = DialogResult.OK; } else if (isSuccess) { OriginMBox.MBoxInfoOK(AppConst.PASSWORD_UPDATE_SUCCESS); this.DialogResult = DialogResult.OK; } else { this.DialogResult = DialogResult.Cancel; } Close(); } else { // ログイン認証チェック User user = User.SelectUserFromId(userId); bool isSuccess = PasswordManager.VerifyPassword(user.Password, TbPassword.Text, user.Salt); // ログイン合否によって処理分岐 if (isSuccess) { OriginMBox.MBoxInfoOK(AppConst.LOGIN_SUCCESS); controller.User = user; Hide(); MainHouseholdABookForm bookForm = new MainHouseholdABookForm(controller); if (bookForm.ShowDialog() != DialogResult.OK) { Close(); } } else { OriginMBox.MBoxErrorOK(AppConst.LOGIN_ERROR); } } }