private void ClientHost_PasswordRequested(PasswordRequestEventArgs args) { var message = default(TextKey); var title = default(TextKey); logger.Info($"Received input request with id '{args.RequestId}' for the {args.Purpose.ToString().ToLower()} password."); switch (args.Purpose) { case PasswordRequestPurpose.LocalAdministrator: message = TextKey.PasswordDialog_LocalAdminPasswordRequired; title = TextKey.PasswordDialog_LocalAdminPasswordRequiredTitle; break; case PasswordRequestPurpose.LocalSettings: message = TextKey.PasswordDialog_LocalSettingsPasswordRequired; title = TextKey.PasswordDialog_LocalSettingsPasswordRequiredTitle; break; case PasswordRequestPurpose.Settings: message = TextKey.PasswordDialog_SettingsPasswordRequired; title = TextKey.PasswordDialog_SettingsPasswordRequiredTitle; break; } var dialog = uiFactory.CreatePasswordDialog(text.Get(message), text.Get(title)); var result = dialog.Show(); runtime.SubmitPassword(args.RequestId, result.Success, result.Password); logger.Info($"Password request with id '{args.RequestId}' was {(result.Success ? "successful" : "aborted by the user")}."); }
private void TryGetPasswordViaDialog(PasswordRequiredEventArgs args) { var message = default(TextKey); var title = default(TextKey); switch (args.Purpose) { case PasswordRequestPurpose.LocalAdministrator: message = TextKey.PasswordDialog_LocalAdminPasswordRequired; title = TextKey.PasswordDialog_LocalAdminPasswordRequiredTitle; break; case PasswordRequestPurpose.LocalSettings: message = TextKey.PasswordDialog_LocalSettingsPasswordRequired; title = TextKey.PasswordDialog_LocalSettingsPasswordRequiredTitle; break; case PasswordRequestPurpose.Settings: message = TextKey.PasswordDialog_SettingsPasswordRequired; title = TextKey.PasswordDialog_SettingsPasswordRequiredTitle; break; } var dialog = uiFactory.CreatePasswordDialog(text.Get(message), text.Get(title)); var result = dialog.Show(runtimeWindow); args.Password = result.Password; args.Success = result.Success; }
private bool TryValidateQuitPassword() { var dialog = uiFactory.CreatePasswordDialog(TextKey.PasswordDialog_QuitPasswordRequired, TextKey.PasswordDialog_QuitPasswordRequiredTitle); var result = dialog.Show(); if (result.Success) { var passwordHash = hashAlgorithm.GenerateHashFor(result.Password); var isCorrect = appSettings.QuitPasswordHash.Equals(passwordHash, StringComparison.OrdinalIgnoreCase); if (isCorrect) { logger.Info("The user entered the correct quit password, the application will now terminate."); } else { logger.Info("The user entered the wrong quit password."); messageBox.Show(TextKey.MessageBox_InvalidQuitPassword, TextKey.MessageBox_InvalidQuitPasswordTitle, icon: SebMessageBox.MessageBoxIcon.Warning); } return(isCorrect); } return(false); }
private void HomeNavigationRequested() { if (isMainInstance && (settings.UseStartUrlAsHomeUrl || !string.IsNullOrWhiteSpace(settings.HomeUrl))) { var navigate = false; var url = settings.UseStartUrlAsHomeUrl ? settings.StartUrl : settings.HomeUrl; if (settings.HomeNavigationRequiresPassword && !string.IsNullOrWhiteSpace(settings.HomePasswordHash)) { var message = text.Get(TextKey.PasswordDialog_BrowserHomePasswordRequired); var title = !string.IsNullOrWhiteSpace(settings.HomeNavigationMessage) ? settings.HomeNavigationMessage : text.Get(TextKey.PasswordDialog_BrowserHomePasswordRequiredTitle); var dialog = uiFactory.CreatePasswordDialog(message, title); var result = dialog.Show(window); if (result.Success) { var passwordHash = hashAlgorithm.GenerateHashFor(result.Password); if (settings.HomePasswordHash.Equals(passwordHash, StringComparison.OrdinalIgnoreCase)) { navigate = true; } else { messageBox.Show(TextKey.MessageBox_InvalidHomePassword, TextKey.MessageBox_InvalidHomePasswordTitle, icon: MessageBoxIcon.Warning, parent: window); } } } else { var message = text.Get(TextKey.MessageBox_BrowserHomeQuestion); var title = !string.IsNullOrWhiteSpace(settings.HomeNavigationMessage) ? settings.HomeNavigationMessage : text.Get(TextKey.MessageBox_BrowserHomeQuestionTitle); var result = messageBox.Show(message, title, MessageBoxAction.YesNo, MessageBoxIcon.Question, window); navigate = result == MessageBoxResult.Yes; } if (navigate) { control.NavigateTo(url); } } }