[gelöst] Gibt es ein User-login ohne die Möglichkeit, das Passwort zu ändern ?

am 05.02.2015 - 21:24 Uhr in
In einer DP7.x-Webseite eines Künstlervereines soll den aktiven Mitgliedern (es sind ca. 160) der exklusive Zugang zu einer Seite mit internen Mitteilungen ermöglicht werden. Dazu wurde das Modul Content Access installiert und aktiviert und die Rolle "Mitglieder" definiert. Aus verwaltungstechnischen Gründen gibt es für diesen Zugang nur EINEN Benutzernamen und EIN Passwort. Die aktiven Mitglieder (und nur sie) erfahren diesen Benutzernamen (und das Passwort), können sich einloggen und sehen den Menüpunkt für die Internen Mitteilungen. Das geht ohne Probleme.
Da in der normalen Login-Maske auch die Möglichkeit besteht, ein neues Passwort anzufordern, könnte dies natürlich (trotz Anweisung, dies nicht zu tun) ein Mitglied machen, worauf sich andere Mitglieder nicht mehr einloggen können.
Daher meine Frage: Gibt es eine Möglichkeit, einen speziellen Login-Link zu gestalten, bei dem im Login-Fenster der Reiter: "Neues Passwort anfordern" nicht aufscheint ?
Danke für Eure Hilfe
Albert
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo Albert, vielleicht
am 05.02.2015 - 23:59 Uhr
Hallo Albert, vielleicht hilft dir dieses Modul weiter?
oder du blendest den Link
am 06.02.2015 - 01:57 Uhr
oder du blendest den Link einfach per CSS aus....
oder du leitest die URL zum Ändern des Passwortes (in der Regel: user/password) auf eine Erklärungsseite, warum die User das Passwort nicht ändern sollen.
oder du machst beides :-)
Natürlich können sich dann Mitglieder nie ein Passwort zuschicken lassen. Ich befürchte mal, dass das gar nicht erwünscht ist.
Gruß
Berthold
Solange die Leute keinen
am 06.02.2015 - 09:38 Uhr
Solange die Leute keinen Zugriff auf die E-Mail-Adresse haben, auf die der Account läuft - und das sollte sich wohl machen lassen, wenn es sowieso ein Account für alle ist - können die so oft auf den Link klicken, wie sie wollen. Denn es wird ja ein Link geschickt, mit dem man erst auf eine Seite kommt, auf der man dann sein Passwort ändern kann. Solange da keiner draufklickt (sprich, die Mailadresse muss auf jemanden laufen, der weiß, dass er da nicht draufklicken soll), passiert da nämlich rein gar nix und das Passwort bleibt so, wie es ist.
Allerdings muss auch noch sichergestellt sein, dass dieser User keine Recht hat, sein Profil aufzurufen und dort das Passwort zu editieren, da sähe ich nämlich eher das Problem.
Gute Idee Sonja, da hatte ich
am 06.02.2015 - 13:43 Uhr
Gute Idee Sonja,
da hatte ich noch gar nicht dran gedacht.
Damit dieses Profil nicht bearbeitet werden kann, könnte man doch einen Redirect auf die Profilseite selbst setzen und einen weiteren auf die spezielle "Profil bearbeiten" Seite (/user/[UID]/edit.
Dann hat man das Problem doch eigentlich erledigt.
Gruß
Berthold
E-mail-Adresse gestalten
am 06.02.2015 - 18:44 Uhr
Danke an alle,
Der Tip von Sonja ist für meine Ansprüche sicher die einfachste Lösung. Die definierte Mail-Adresse landet nun in der Mailbox beim Provider.
Herzlichen Dank für Eure Hilfe.
Albert
Profil Bearbeiten verhindern
am 09.02.2015 - 18:46 Uhr
Danke Berthold,
Es bleibt noch ein Problem übrig, auf das Dein Beitrag offenbar hinweist.
Zwar geht "Neues Passwort anfordern" nun nicht mehr, aber wenn ein User einloggt, kommt das Fenster /user/[UID] (siehe Anhang) mit dem Reiter "Bearbeiten". Damit kommt er in /user/[UID]/edit und kann das Passwort ändern. In den Berechtigungen für die Rolle "Mitglied" ist aber nichts aktiviert.
Du erwähnst ein "Redirect", mit dem ich nicht vertraut bin. Kennst Du eine Lösung, dass nach dem Anmelden eines Users (mit einer bestimmten Rolle) ein "Bearbeiten" (in /user/[UID]/edit) nicht möglich ist ?
Albert
Hallo Albert, ich
am 09.02.2015 - 18:55 Uhr
Hallo Albert,
ich schrieb:
Damit dieses Profil nicht bearbeitet werden kann, könnte man doch einen Redirect auf die Profilseite selbst setzen und einen weiteren auf die spezielle "Profil bearbeiten" Seite (/user/[UID]/edit.
Das solltest du machen.
Redirect ist ein sehr einfaches Modul, du gibst einfach an, welche URL auf eine andere weitergeleitet werden soll.
Du kennst ja die UID deines "spezial User", wo Leute ihr Passwort nicht ändern sollen und dann leitest du das eben auf einer "Erklärungsseite".
Das ist wirklich ganz einfach.
Redirect
am 10.02.2015 - 16:05 Uhr
Danke,
ich habe also Das Modul Redirect geladen und aktiviert.
Ich habe weiters eine Seite (Titel und Alias: user_access) erstellt, mit einem Hinweistext. Die Seite hat die Adresse node/431.
Zunächst habe ich in den Konfigurationen für das Modul (also in admin/config/search/redirect/settings, siehe Anhang 1 ) eine Umleitung von http://www.domain/user/21/edit auf user_access definiert. /user/21/edit ist die Seite, die aufgerufen wird, wenn der user 21 nach der Anmeldung auf "Bearbeiten" klickt. Aber es erfolgt keine Umleitung !
Dann habe ich im Bearbeitungsmodus von node/431 (erscheint als node/431/edit?destination=admin/content ) mit URL redirects --> Add URL redirect to this node [siehe Anhang 3 ] nochmals die Ausgangsadresse http://www.domain/user/21/edit gesetzt. In der Redirect-Liste erscheint nun [siehe Anhang 2]. Und wieder erfolgt keine Umleitung.
Was habe ich da noch übersehen ?
Albert
tab tamer kann die tabs alle
am 10.02.2015 - 18:45 Uhr
tab tamer kann die tabs alle deaktiveren! das ist zeimlich einfach
In der Tat funktioniert wohl
am 10.02.2015 - 19:01 Uhr
In der Tat funktioniert wohl die Redirect Sache nicht so, wie ich das erwartet hatte.
Auch Rules liefert da in meinen Augen keine gute Lösung.
Hier was ganz ohne Module:
Du kannst aber auch leicht selbst über den _form_alter_hook die Weiterleitung einrichten, ungefähr so:
<?php
function DEIN_THEME_form_alter(&$form, &$form_state, $form_id)
{
if($form_id=="user_profile_form")
{
if($form['#user']->uid=="21") // <--- hier die entsprechende UID eintragen
{
drupal_goto("node/8"); // <--- hier die entsprechende Node eintragen, auf die weitergeleitete werden soll.
}
}
}
?>
caw schrieb tab tamer kann
am 10.02.2015 - 19:01 Uhr
tab tamer kann die tabs alle deaktiveren! das ist zeimlich einfach
Wenn ich das richtig verstanden haben, soll nur EIN user nicht editierbar sein. Alle andere aber schon.
Beim TabTamer schaltest du doch sämtliche Tabs für jeden ab, oder gibt es da auch schon Bedingungen, wie z.B. eine UID, damit der TabTamer eingreift ?
Auf die Gefahr hin, dass ich
am 10.02.2015 - 19:47 Uhr
Auf die Gefahr hin, dass ich mich wiederhole... hilft Dir dieses Modul denn gar nicht?
leda.ch schrieb Auf die
am 10.02.2015 - 21:22 Uhr
Auf die Gefahr hin, dass ich mich wiederhole... hilft Dir dieses Modul denn gar nicht?
Ich denke, das wird in der Tat nichts helfen, weil es nur den Passwort-Zusenden-Link unterdrückt.
Beim Bearbeiten kann man immer noch ein anderes Passwort eingeben. Man muß sich Passworte ja auch nicht immer zuschicken lassen, die kann man ja auch so verändern.
Gruß
Berthold
Passwort in "Bearbeiten" ändern
am 11.02.2015 - 23:03 Uhr
Beim Bearbeiten kann man immer noch ein anderes Passwort eingeben
genau, das ist ja auch jetzt mein Problem. Ich verstehe aber nicht, wieso Redirect nicht funktioniert, wo es doch (von seiner Beschreibung her) genau das machen soll, was ich möchte (nämlich die /user/UID/edit-Seite umzuleiten).
Deinen Vorschlag mit dem php-Schnipsel kann ich noch nicht verwerten, da ich noch nie ein Modul geschrieben habe und daher nicht weiß, wo genau ich diesen Code einfügen soll. Bitte um einen genaueren Hinweis.
Albert
@Modul schreiben Das ist kein
am 11.02.2015 - 01:11 Uhr
@Modul schreiben
Das ist kein Schnippsel für ein Modul, sondern du kannst das einfach in die template.php im Themeordner ergänzen.
Naütrlich mit dem richtigen Themenamen und den richtigen IDs.
@wieso Content Access nicht funktioniert
du meinst sicherlich mein Vorschlag mit redirect.
Irgendwie funktioniert das eben nicht. Drupal händelt diese Seite wohl irgendwie anders. Das siehst du ja auch an deinen Screenshots, da steht ja bei "Last accessed" immer Nie. Und du hast die Seite sicherlich aufgerufen.
Das mit der template.php ist ganz einfach, ich bin mir sicher, dass bekommst du locker hin.
torfnase schrieb caw
am 11.02.2015 - 05:38 Uhr
tab tamer kann die tabs alle deaktiveren! das ist zeimlich einfach
Wenn ich das richtig verstanden haben, soll nur EIN user nicht editierbar sein. Alle andere aber schon.
Beim TabTamer schaltest du doch sämtliche Tabs für jeden ab, oder gibt es da auch schon Bedingungen, wie z.B. eine UID, damit der TabTamer eingreift ?
Nein, tut er nciht, da man das sehr dezidiert einstellen kann, welche Tabs deaktiviert werden!
Funktioniert !
am 11.02.2015 - 22:54 Uhr
@wieso Content Access nicht funktioniert
Ich habe mich vertippt. Du hast es richtig korrigiert mit redirect.
Ich habe in php nur einige Grundkenntnisse, die für geringfügige Änderungen in den page.tpl.php reichen.
Da meine Webseite ein Subtheme von ZEN ist, gibt es 2 template.php. Die template.php für die Webseite enthält nur Kommentare.
Ich habe also in dieser Webseite
function THEME-Name_form_alter(&$form, &$form_state, $form_id)
{
if($form_id=="user_profile_form")
{
if($form['#user']->uid=="21") // <--- hier die entsprechende UID eintragen
{
drupal_goto("node/431"); // <--- hier die entsprechende Node eintragen, auf die weitergeleitete werden soll.
}
}
}
?>
ganz am Ende in die template.php eingefügt (natürlich ohne <?php), und die user_profil_Seite für den User 21 wird auf eine Erklärungsseite umgeleitet.
Um den php-Code besser zu verstehen: Wo finde ich eine Dokumentation, in der z.B. Variablen $form_id und $form['#user'] und die Funktion drupal_goto beschrieben ist. Ein PHP-Handbuch habe ich.
Nochmals herzliche Dank
Albert
Nur durch studieren der
am 11.02.2015 - 23:37 Uhr
Nur durch studieren der Drupal-API und im Zweifel die Strukturen mit Hilfe des Devel-Moduls über die Funktion dsm($XYZ); anzeigen lassen. Gerade bei Formularen muß man meist erst mal einen Blick auf die Struktur werfen um zu wissen, was man ändern muß. Das findet sich aber nicht in der "normalen" PHP-Dokumentation. Das ist Drupal-spezifisch. Es gibt Bücher wie "Pro Drupal 7 Development", die einem für Modul-Programmierung auf das Fahrrad helfen. Da kann man dann auch einiges an Erklärungen finden.
Drupal-API
am 12.02.2015 - 19:19 Uhr
Danke Werner. Das war genau das, was ich suchte.
Im Anbetracht der Komplexität des Systems und der Tatsache, dass ich in Zukunft wahrscheinlich nur mehr wenige Webseiten bauen werde (ich bin bald 76), werde ich mich doch wieder auf Eure Hilfe verlassen müssen.
Herzliche Grüße
Albert
Also ich habe das mit dem dem
am 13.02.2015 - 13:47 Uhr
Also ich habe das mit dem dem Modul urllogin gelöst. Kann man einfach Loginlinks mit generieren und muss kein Passwort rausgeben.
urllogin
am 13.02.2015 - 21:33 Uhr
Danke Julian,
ich habe mir das urllogin angesehen und es sieht interessant aus. Jedenfalls habe ich mir das vorgemerkt und werde es bei weiterem Bedarf nützen.
Herzliche Grüße
Albert