Ich bin neu in Drupal. Es ist eine sehr dumme Frage, denke ich. Ich habe das PHP-Filtermodul aktiviert, damit ich eine neue Seite mit meinem eigenen PHP-Code erstellen kann. Diese bestimmte Seite möchte ich nur authentifizierten Benutzern zugänglich machen, die für anonyme Benutzer nicht sichtbar sind. Wie kann ich das erreichen? Kann ich Berechtigungen für einzelne Seiten in Drupal festlegen? Oder ist es möglich, zu identifizieren, dass ein anonymer Benutzer versucht, über PHP-Code auf die aktuelle Seite zuzugreifen?Einstellung Seite Zugriffsberechtigungen in Drupal
Antwort
Da Sie erwähnt haben, dass Sie neu bei Drupal sind, ein Wort der Vorsicht - mit PHP-Filter für Ihren benutzerdefinierten Code gilt als schlechte Praxis. Es ist ein Hack und es ist ein Sicherheitsproblem.
Es ist viel besser, Ihr benutzerdefiniertes Modul zu schreiben, und es kann seine eigenen benutzerdefinierten Berechtigungen implementieren, die Sie überprüfen können, etc. usw. Es gibt eine nette sample module, die Sie überprüfen können, wie es aussehen soll. Schauen Sie sich natürlich auch das Handbuch an. Es ist wirklich nicht so schwer wie es klingt.
Aber zurück zu Ihrer Frage. Sie können die folgende Zeile in der PHP-gefilterten Seite setzen:
global $user;
Dies werden Sie auf ein Objekt zuzugreifen, das den aktuellen Benutzer darstellt. $user->roles
ist ein Array, das die Rollen des Benutzers darstellt. Sie können nur überprüfen, ob es (oder etwas besser - eine benutzerdefinierte Rolle, die Sie erstellen) hat.
Um anonyme Benutzer zu verhindern eine Seite zugreift, können Sie den folgenden PHP-Code verwenden können:
<?php
// we have to access the content of the global-scope variable $user
global $user;
//Checking if the user is registered
if (in_array('authenticated user', $user->roles)==FALSE) {
header('Location:/content/restrictedaccess') ;
}
?>
// Seite Inhalt
- Weitere Informationen darüber, wie ich mit Drupal meine Website erstellt hier: http://modeling-languages.com/content/how-i-created-site-drupal
Nachdem oben Antworten gelesen haben, können Sie auch das sofort verfügbare simple access Modul in Betracht ziehen. Es entspricht meinen Anforderungen und wenn Sie PHP-Filterung vermeiden möchten und aus irgendwelchen Gründen kein eigenes Modul erstellen möchten, können Sie simple access auschecken.
Danke! Das hat mir geholfen. – BigJoe714
- 1. benutzerdefinierte Seite in Drupal
- 2. laufen Drupal-Seite in github.io
- 3. Inhalt der Drupal-Seite
- 4. Zugriffsberechtigungen für Variable in Java
- 5. Zugriffsberechtigungen ändern, während in App
- 6. Einstellung Drupal Knoten Auswahl Listenfeld Wert programmatisch
- 7. Anzeige einer Drupal-Seite ohne Vorlage in Drupal 7
- 8. Ersetzt Intents die Zugriffsberechtigungen?
- 9. Drupal pass Argument zu Seite
- 10. iframe nicht auf drupal Seite
- 11. Seite nicht gefunden Fehler in Drupal
- 12. Verstecken Benutzername und Datum in Drupal Seite
- 13. ICMP in C#, SocketException - Durch Zugriffsberechtigungen verboten
- 14. Theming Drupal 7 Ubercart "/ cart" Seite
- 15. Drupal erstellen eine Seite, die JSON
- 16. Drupal 7 Formular nicht auf Seite
- 17. Wie bestimmte Drupal-Seite zu https?
- 18. Wie fügt Drupal eine Seite zusammen?
- 19. IIS 6.0 Zugriffsberechtigungen für die Remote-Freigabe
- 20. Erstellen einer Seite mit mehr Ansichten und Blöcken in Drupal
- 21. redircct, wenn Benutzer nicht auf benutzerdefinierte Seite in Drupal authentifizieren
- 22. Crawler wird auf der obligatorischen agecheck Seite in Drupal stecken
- 23. Shopify benutzerdefinierte Einstellung Seite für App
- 24. Einstellung meta: resourcekey beim Laden der Seite
- 25. Eingebettete Ansichten in Drupal
- 26. Zugriffsberechtigungen für eine ganze Gruppe in einem Verzeichnis festlegen
- 27. App in iOS 6 abgestürzt, wenn Benutzer Kontakte Zugriffsberechtigungen ändert
- 28. Zugriffsberechtigungen in Komponentendienste ändern> COM-Sicherheit mit script/api?
- 29. opencart 1.5 show count store in admin einstellung/speichern seite
- 30. Einstellung HTML-Controller auf der rechten Seite in Firefox Erweiterung
Danke Eli :) Sorry, ich bedanke mich recht spät. Ich nahm Ihre Warnung sehr ernst :) Ihre Vorschläge und Jordis Code machten es sehr einfach! Obwohl ich es bald durch das Modul "Einfacher Zugang" ersetzt habe. Es ist wirklich so einfach wie es sagt und es hat meine Anforderungen perfekt erfüllt. Ich werde Ihren Link für das Beispielmodul verwenden, um in Zukunft eigene Module zu erstellen. Es ist ein guter Starter! – Nikhil