KI-Zusammenfassung
Möchten Sie einschränken, welche Benutzer die Liste der verbundenen Google Tabellen beim Einrichten einer Google Tabellen-Verbindung in WPForms sehen können? Standardmäßig kann jeder Benutzer mit Zugriff auf den Formular-Builder jede Tabelle sehen, die mit dem verbundenen Google-Konto verknüpft ist, was auf Websites mit mehreren Backend-Benutzern ein Datenschutzproblem darstellen kann.
Dieses Tutorial zeigt Ihnen, wie Sie den Zugriff auf den Google Tabellen-Auswahl-Dialog mit einem benutzerdefinierten Code-Snippet einschränken können.
Erstellen des Snippets
Bevor wir beginnen, sollten Sie sich unser Tutorial zum Hinzufügen benutzerdefinierter Code-Snippets zu Ihrer Website ansehen.
Der Google Tabellen-Auswahl-Dialog lädt seine Daten über einen AJAX-Endpunkt, wenn ein Benutzer den Google Tabellen-Anbieter im Formular-Builder öffnet. Durch das Anhängen an den wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets Filter können Sie eine Berechtigungsprüfung hinzufügen, bevor die Liste der Tabellen zurückgegeben wird.
Wir behandeln zwei gängige Szenarien unten.
Zugriffsbeschränkung nur für Administratoren
Das folgende Snippet beschränkt den Zugriff auf den Google Tabellen-Auswahl-Dialog auf Benutzer mit der manage_options Berechtigung. Standardmäßig ist dies auf Administratoren beschränkt.
/**
* Restrict the Google Sheets picker to administrators only.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_admins_only', 9 );
function wpf_restrict_picker_access_admins_only(): void {
// Restrict access to users with manage_options capability (administrators by default).
if ( ! current_user_can( 'manage_options' ) ) {
wp_send_json_error( 403 );
}
}
Sobald dieses Snippet zu Ihrer Website hinzugefügt wurde, erhält jeder Nicht-Administrator, der versucht, den Google Tabellen-Auswahl-Dialog zu öffnen, einen 403-Fehler, anstatt die Liste der verbundenen Tabellen zu sehen. Administratoren sehen den Auswahl-Dialog weiterhin genau wie zuvor.
Zugriffsbeschränkung für einen bestimmten Benutzer
Wenn Sie den Zugriff auf einen einzelnen Benutzer beschränken möchten, können Sie stattdessen gegen eine bestimmte Benutzer-ID prüfen. Dies ist nützlich, wenn nur eine Person in Ihrem Team Google Tabellen-Verbindungen verwalten darf.
/**
* Restrict the Google Sheets picker to a specific user.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_single_user', 9 );
function wpf_restrict_picker_access_single_user(): void {
// Restrict access to a specific user ID. Replace 1 with the desired user ID.
if ( get_current_user_id() !== 1 ) {
wp_send_json_error( 403 );
}
}
Ersetzen Sie 1 durch die ID des Benutzers, den Sie zulassen möchten. Sie finden die ID eines Benutzers, indem Sie in Ihrem WordPress-Adminbereich zu Benutzer gehen und mit der Maus über den Namen des Benutzers fahren. Die ID erscheint in der URL des Bearbeitungslinks.
Das ist alles! Sie haben den Zugriff auf den Google Tabellen-Auswahl-Dialog in WPForms erfolgreich eingeschränkt. Möchten Sie andere Teile der Google Tabellen-Integration anpassen? Sehen Sie sich unser Tutorial an, wie Sie das Google Sheets Addon mit WPForms einrichten.