Ich möchte meine Benutzer programmgesteuert auf die Standardseite "Zugriff eingeschränkt" umleiten. Ich weiß, dass ich für eine einfache Umleitung ein "RedirectResponse" -Objekt benötige, aber wie gebe ich hier die Standardseite "Zugriff eingeschränkt" an?
12
return new Response('', Response::HTTP_FORBIDDEN);
Antworten:
Sie können an jeder Stelle in Ihrem Code eine Ausnahme auslösen:
403:
404:
Die Ausnahme wird dann von DefaultExceptionHtmlSubscriber abgefangen und eine Unteranforderung für
/system/403
oder/system/404
wird zurückgegeben, die Sie in den grundlegenden Site-Einstellungen konfigurieren können, wenn Sie keine generische Seite "Zugriff verweigert" oder "Nicht gefunden" anzeigen möchten.Andere Optionen hängen davon ab, wo der Code platziert wird:
Gibt eine 403- oder 404-Antwort von einem Controller oder einem Formular zurück
Legen Sie eine Antwort in einem Ereignis fest, wenn Sie sich in einem Ereignisabonnenten befinden.
Was Sie niemals tun sollten, ist eine Antwort direkt zu senden. Dies stoppt den Code nicht und erzeugt zwei Antworten, eine, die Sie gesendet haben, und eine, die vom Drupal-Kernel zurückgegeben wurde. Dies führt zu unvorhersehbarem Verhalten.
quelle
Dies scheint der richtige Weg zu sein:
quelle
Erstellen Sie Ihre Umleitung von der Route, auf der der Zugriff des Systems verweigert wurde.
Hiermit gelangen Sie zur Seite mit dem verweigerten Drupal-Standardzugriff. Die Route ist
system.routing.yml
im Kern definiert .Die beste Antwort gibt Ihnen einen kaputt aussehenden browserbasierten Zugriff verweigert, nach dem Sie möglicherweise suchen. Wenn Ihre Drupal-Benutzeroberfläche angezeigt werden soll, verwenden Sie die oben genannten Anweisungen.
quelle
Auf einer Seite können Sie Folgendes verwenden:
wie: http://www.drupal8.ovh/en/tutoriels/88/page-redirection-on-drupal-8
Oder von einem von einreichen:
Konfigurieren Sie dann die Zugriffsberechtigung für 'your.module.route.name'.
Wenn Sie nicht wissen, wie Sie die Zugriffsberechtigung konfigurieren, überprüfen Sie: http://www.drupal8.ovh/en/tutoriels/66/create-a-custom-permission-drupal-8
quelle