user.module > Benutzer soll sein Profil nicht ändern dürfen

am 28.01.2015 - 16:37 Uhr in
Jeder, der über ein Zugangskonto verfügt darf auch sein Profil ändern, das kling logisch.
Ich habe jedoch ein Mini-Benutzerkonto erstellt, was von vielen genutz werden soll doch nur von Admin geändert werden darf (E-Mail, Passwort)...
Ich habe folgendes gefunden: http://www.drupalcenter.de/node/24575 .
Es ist jedoch für Drupal 6 und auch nicht ganz so elegant.
Wie kann ich es am besten in Drupal 7 lösen?
Viele Grüße
Jarek
- Anmelden oder Registrieren um Kommentare zu schreiben
Die in diesem Artikel
am 28.01.2015 - 16:46 Uhr
Die in diesem Artikel vorgeschlagene Lösung ließe sich für den Zweck umbauen.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
das modul field_permission
am 28.01.2015 - 17:20 Uhr
das modul field_permission ist dafür geeignet
C.A.W. Webdesign

Das hilft mir schon mal weiter!
am 29.01.2015 - 12:58 Uhr
Hallo Werner,
danke für den Link, das funktioniert soweit gut!
Die Schaltfläche „Bearbeiten“ wird ausgeblendet und das hilft mir schon mal weiter.
Über die Adressleiste „/user/xxx/edit“ ist es jedoch weiterhin möglich die Dateien zu ändern. Zwar wird auch hier die Schaltfläche „Bearbeiten“ ausgeblendet, doch wenn man das Passwort kennt kann man immer noch Änderungen durchführen.
In meinem Fall ist es eigentlich egal, da ich den Zugang nur über „Auto Login URL“ erlaube und der Nutzer das Passwort nicht kennt.
Vielleicht habe ich aber in meiner Funktion noch einen Fehler und es nur deshalb möglich sei?
if (!empty($vars['user']) && in_array('TESTER', $vars['user']-> roles))
{
$to_be_removed = array('user/%/edit', 'user/%/view');
foreach ($vars['tabs'] as $group_key =>$tab_group)
{
if (is_array($tab_group))
{
foreach ($tab_group as $key =>$tab)
{
if (isset($tab['#link']['path']) && in_array($tab['#link']['path'], $to_be_removed))
{
unset($vars['tabs'][$group_key][$key]);
}
}
}
}
}
Kann ich hier noch was optimieren?
Viele Grüße
Jarek
Einfluss auf die Benutzerprofile...
am 29.01.2015 - 12:59 Uhr
Hallo CAW,
vielen Dank für deinen Vorschlag!
Ich habe bereits mit dem Modul gearbeitet und finde es richtig hilfreich wenn es um die Rechtevergabe für bestimmte Nodes geht. Ich habe jedoch keine Möglichkeit gefunden Einfluss auf die Benutzerprofile zu nehmen. Der Benutzer soll sein Profil nicht ändern dürfen, wie kann ich das mit dem Field Permissions Modul verhindern?
Weißt Du eventuell wie es geht?
Viele Grüße
Jarek
Nein, das weiß ich nicht. Mit
am 29.01.2015 - 13:42 Uhr
Nein, das weiß ich nicht. Mit Field Permissions gehts ja nur für die Felder..
Geht evtl mit Tabtamer, damit kann man den Edit Tab deaktivieren
C.A.W. Webdesign

Der direkte Aufruf des Pfades
am 29.01.2015 - 14:02 Uhr
Der direkte Aufruf des Pfades ließe sich über rules in Abhängigkeit von einer Rolle z.b. auf die Startseite umbiegen. Damit wäre diese URL für eine spezielle Rolle blockiert.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ich hätte da noch einen ganz
am 29.01.2015 - 15:34 Uhr
Ich hätte da noch einen ganz anderen Ansatz, um nicht in die Drupal Userverwaltung so tief einzugreifen.
Man könnte per JQuery die entsprechenden Felder auf Readonly setzen.
Dann bleibt alles so, wie es ist, nur der User kann seine Daten eben nicht ändern.
Wenn der eingeloggte User ein Admin ist, läßt man die Felder eben so wie sie sind, also beschreibbar.
Gruß
Berthold
Drupal Video-Tutorials