9.4. Erstellen von Seiten für ein Premium-Konto.
In dieser Lektion erweitern wir die Möglichkeiten unseres Moduls und erstellen Inhalte, die nur für registrierte Benutzer oder Benutzer mit einer bestimmten Rolle zugänglich sind.
Codebeispiele sind auf GitHub verfügbar:
https://github.com/levmyshkin/drupalbook8
Beginnen wir damit, eine neue YML-Datei direkt im Modulordner drupalbook.permissions.yml hinzuzufügen:
access premium pages:
  title: 'Zugriff auf Premium-Seiten'
  description: 'Eine benutzerdefinierte Berechtigung für Ihre Seiten.'
  restrict access: TRUE
Gehen Sie nun zur Seite für Zugriffsrechte und vergeben Sie den Zugriff auf Premium-Inhalte für die notwendigen Rollen. Ich werde dies für registrierte Benutzer tun:
/admin/people/permissions

Erstellen Sie jetzt in drupalbook.routing.yml eine neue Route, in der Sie unsere neuen Rechte und eine neue Methode zur Inhaltsanzeige angeben:
drupalbook.private_content:
   path: '/private-page'
   defaults:
     _controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
     _title: 'Privater Inhalt'
   requirements:
     _permission: 'access premium pages'
Nach dem Hinzufügen einer neuen Route müssen Sie den Cache leeren.
Wir müssen auch die Methode privateContent() zu unserer FirstPageController-Klasse hinzufügen:
/**
 * Gibt eine private Seite zurück.
 *
 * @return array
 *   Ein einfaches renderbares Array.
 */
public function privateContent() {
  $element = array(
    '#markup' => 'Privater Inhalt',
  );
  return $element;
}
Nun können Sie den Cache leeren und überprüfen, dass unsere Seite für nicht registrierte Benutzer nicht zugänglich ist.

Codebeispiele sind auf GitHub verfügbar: