[workaround; nicht gelöst] Zugriff auf Administrator-Profile verbieten
Eingetragen von missingdot (145)
am 29.11.2017 - 14:23 Uhr in
am 29.11.2017 - 14:23 Uhr in
Hallo zusammen,
wie kann ich den Gast-Zugriff auf das User-Profil der Rolle Administrator verbieten, wenn die Anonymus User Rolle die Berechtigung "View user information" hat?
Hintergrund: Ich möchte für alle User die User-Profile anzeigen lassen, außer natürlich die Admin-Seite.
Habe leider kein Modul oder Core-Funktion gefunden, die das ermöglicht bzw. hab vielleicht einfach nach den falschen Stichworten gesucht.
Grüße,
Boris
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo Boris, du könntest das
am 30.11.2017 - 09:34 Uhr
Hallo Boris, du könntest das mit diesem Modul lösen: https://www.drupal.org/project/userone
Danke. Aber für Drupal 8
am 30.11.2017 - 13:17 Uhr
Danke. Aber für Drupal 8 gibt's nur ne Dev-Version von Aug 2016. Das will ich ungern Produktiv einsetzen. Und es bezieht sich scheinbar auch nur auf User 1. Ich habe aber mehrere Admins, die ich blocken will. Gibt's da echt keine Core- bzw. Rollenbasierte Lösung dafür? Find ich extrem verwunderlich.
Für Drupal 7 existieren dazu
am 30.11.2017 - 13:38 Uhr
Für Drupal 7 existieren dazu diverse Module, für Drupal 8 kenne ich aber ansonsten keins. Ggfs. hilft nur selbstprogrammieren, zur Not könnte man das auch per Theming lösen.
EDIT: Ich habe doch noch etwas gefunden: https://www.drupal.org/project/access_filter Mit dem Modul habe ich aber keine Erfahrung, aber vielleicht funktioniert das ja. :)
Danke dir. Mit dem Access
am 30.11.2017 - 16:32 Uhr
Danke dir. Mit dem Access Filter Modul habe ich mir jetzt einen Workaround gebastelt. Ich sperre nun einfach alle IP's, die auf die entsprechenden Profile wollen. Sind zum Glück nicht so viele. Allerdings löst es tatsächlich nicht das Problem Rollenbasiert Zugriffe auf User bestimmter Rollen zu verbieten. Ein eigenes Modul zu programmieren kommt (zur Zeit) leider noch nicht in Frage, da mir das nötige Grundwissen hierzu fehlt.
Einen anderen Ansatz habe ich mit Rules versucht. Das habe ich aber kaum dazu gebracht, das zu tun was ich wollte. Entweder verstehe ich Rules nicht oder es ist aktuell einfach noch zu buggy... ;-)
Panels page manager mit HTTP response code
am 02.12.2017 - 21:24 Uhr
In d7 wäre das mit Panels page manager mit HTTP response code (z.B. 403) leicht umzusetzen, in d8 scheint der noch nicht fehlerfrei zu funktionieren in meinem Test. An sich eine feine Lösung, sieht bei d7 so aus:
$handler = new stdClass();
$handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
$handler->api_version = 1;
$handler->name = 'user_view__display_no_admin_user_for_guests';
$handler->task = 'user_view';
$handler->subtask = '';
$handler->handler = 'http_response';
$handler->weight = 0;
$handler->conf = array(
'title' => 'display no admin-user profiles for guests',
'contexts' => array(),
'relationships' => array(),
'code' => '404',
'destination' => '',
'name' => 'display_no_admin_user_profiles_f',
'access' => array(
'plugins' => array(
0 => array(
'name' => 'role',
'settings' => array(
'rids' => array(
0 => 3,
),
),
'context' => 'argument_entity_id:user_1',
'not' => FALSE,
),
1 => array(
'name' => 'role',
'settings' => array(
'rids' => array(
0 => 2,
),
),
'context' => 'logged-in-user',
'not' => TRUE,
),
),
'logic' => 'and',
),
);
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de