Was ist der Zugriffsdatensatz "Content_Access: All"? Dies überschreibt mein Taxonomie -Zugriffsmodul

drupal.stackexchange https://drupal.stackexchange.com/questions/1171

  •  16-10-2019
  •  | 
  •  

Frage

Ich habe Probleme mit meinen Berechtigungen, seit ich meine Berechtigungen das letzte Mal wieder aufgebaut habe. (Ich habe dies nach der Arbeit an Benutzerreferenzberechtigungen getan. Dieses Feld hat keine Benutzerreferenz.)

Die Taxonomie -Berechtigungen haben die gleiche Priorität von 0. Tatsächlich haben alle Zugriffsmodule die Priorität von Null. Wenn ich zu der Seite gehe, die gesehen werden kann, obwohl sie nicht gesehen werden sollte, zeigt dies Folgendes als Gewährung von Zugriff auf die Seite:

enter image description here

Ich denke, ich muss den Leuten den Zugang zu den Seiten standardmäßig ermöglichen und es dann wegnehmen, wenn die Taxonomie zugewiesen wird. Ich hatte das schon einmal zum Laufen und ich verstehe nicht, warum es aufgehört hat zu arbeiten.

Was kann ich tun, um das herauszufinden? Ich bin ein paar Stunden in der Frage und bin ein bisschen verblüfft.

Ich habe die folgenden Module in Bezug auf Berechtigungen installiert:

  • Inhaltszugriff
  • Knotenzugriffs -Benutzerreferenz
  • Taxonomie Zugangskontrolle

Ich bin mir nicht sicher, ob es relevant ist oder nicht, aber ich erhalte auch eine Nachricht, wenn ich über Löschen schwebe, mit dem steht:

DNA und Kern scheinen bei diesem Artikel nicht zuzustimmen. Dies ist ein Fehler in einem von ihnen und sollte behoben werden! Versuchen Sie, diesen Knoten als Benutzer zu betrachten, und prüfen Sie, ob immer noch Meinungsverschiedenheiten vorliegen.

War es hilfreich?

Lösung

Der Zugriffsdatensatz, den Sie sehen, könnte der Standardzugriff sein, den Drupal verwendet und der, soweit ich sagen kann, den Code betrachtet, nur verwendet wird, wenn kein Modul Knotenzugriffsrechte implementiert.
node_access_rebuild () und node_access_acquire_grants () Beide fügen Sie diesen Zugriffsdatensatz hinzu, wenn kein Modul einen Knoten -Zugriffs -Hook implementiert, oder kein Modul gibt einen Zugriffsdatensatz zurück.

function node_access_rebuild($batch_mode = FALSE) {
  db_query("DELETE FROM {node_access}");
  // Only recalculate if the site is using a node_access module.
  if (count(module_implements('node_grants'))) {
    // …
  else {
    // Not using any node_access modules. Add the default grant.
    db_query("INSERT INTO {node_access} VALUES (0, 0, 'all', 1, 0, 0)");
  }

  if (!isset($batch)) {
    drupal_set_message(t('Content permissions have been rebuilt.'));
    node_access_needs_rebuild(FALSE);
    cache_clear_all();
  }
}

Ich würde nicht vorschlagen, diesen Zugriffsdatensatz aus der Knotenzugriffstabelle zu entfernen, andernfalls könnten Benutzer ohne bestimmte Berechtigungen keinen Knoten anzeigen, für den ein Modul keinen Knotenzugriffsdatensatz hat. In Drupal ist es standardmäßig, den Zugriff auf einen Knoten zu verweigern. Tatsächlich schreibt das Knotenmodul in der Knotenzugriffstabelle nur die Datensätze, die zugreifen können, um auf einen Knoten zuzugreifen.

Aktualisieren: Wie Sie berichtet haben, dass Sie auch verwenden Inhaltszugriff, Sie könnten an diesem Ausgabebericht interessiert sein: Entführen Sie nicht das "All" -Ralm.
Der Zugriffsdatensatz, den Sie bemerken, ist wahrscheinlich der Datensatz, der von hinzugefügt wird Inhaltszugriff; Der kurze Name des Moduls ist content_access, und es ist wahrscheinlich, dass das Modul das als Grant Realm verwendet.

Ich denke, ich muss den Leuten den Zugang zu den Seiten standardmäßig ermöglichen und es dann wegnehmen, wenn die Taxonomie zugewiesen wird.

Da der Zugriff auf Drupal -Knoten funktioniert, wird der Zugriff standardmäßig verweigert und für Knoten gewährt, für die ein Modul es gewährt; Es ist genau das Gegenteil von dem, was Sie tun.
Der Zugriff ist weiterhin für Benutzer mit spezifischen Berechtigungen zulässig, was in Drupal 6 Benutzer mit dem bedeutet Knoten verwalten Erlaubnis und ist für Benutzer ohne spezifische Erlaubnis nicht zulässig, was in Drupal 6 Benutzer ohne die bedeutet Zugriff auf Inhalte Genehmigung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top