Wie binde ich Benutzername und Passwort in eine URL ein?

7

Wir haben ein Formular, das Benutzer ausfüllen müssen, das jedoch nur authentifizierten Benutzern zugänglich ist. Wir möchten allen Benutzern eine Massen-E-Mail mit einem in eine URL eingebetteten Benutzernamen und einem Kennwort senden, damit Benutzer einfach auf diese URL klicken und sich bei Drupal anmelden können. Der Benutzername und das Passwort sind für alle Benutzer gleich.

Ist es möglich, sich auf diese Weise bei Drupal anzumelden?

Ajinkya Kulkarni
quelle
Hallo Ajinkya Kulkarni, und willkommen bei Drupal Answers . Für welche Drupal-Version interessieren Sie sich? Es ist wichtig zu wissen, dass sich die Antwort auf dieser Grundlage ändern würde.
Kiamlaluno
Entschuldigung, dass ich es vorher nicht erwähnt habe. Ich interessiere mich für Drupal 6.
Ajinkya Kulkarni

Antworten:

6

Offensichtlich gibt es zu viele gute Optionen.

Es gibt auch http://drupal.org/project/tokenauth . Auf diese Weise können Sie einen Link für E-Mails erstellen, über den sich der Benutzer automatisch für die Seiten anmeldet, die Sie für den Zugriff über ein Token konfiguriert haben.

Einige Details von der Projektseite des Moduls:

Die Token-Authentifizierung bietet ein Token zur Verwendung in der URL, um Benutzer bei Ihrer Site zu authentifizieren. Es funktioniert nur auf Pfaden, die auf der Einstellungsseite konfiguriert wurden.

Ursprünglich sollte dieses Modul eine einfache Authentifizierung für RSS-Feeds bieten, damit Feed-Reader benutzerdefinierte Inhaltslisten abrufen können. Sie können es jetzt verwenden, um ein einfaches Surferlebnis für alle Drupal-Inhalte bereitzustellen.

Seien Sie vorsichtig mit den Pfaden, die Sie für die Token-Authentifizierung bereitstellen, da dies praktisch ein sehr einfacher Kennwortmechanismus mit sehr geringer Sicherheit ist. Sie können Administrationsseiten durch fehlerhafte Konfiguration verfügbar machen.

Grayside
quelle
Danke, dieses Modul hat den Job gemacht. Wenn der Benutzer jedoch zu einem Formular mit einer URL wie myportal / node / add / myform? Token = rbkrIlw9GX wechselt und ein Formular sendet , führt Drupal den Benutzer nach dem Senden des Formulars zu myportal / node / [node_id] , in dem dann "Zugriff verweigert" angezeigt wird ' Botschaft. Der Benutzer kann also verwirrt sein, ob das Formular gesendet wird oder nicht. Ich habe dieses Problem gelöst, indem ich beim Klicken auf "Senden" ein Nachrichtenfeld mit den Modulen "jQuery" und "js_injector" hinzugefügt habe. Jetzt ist das Problem gelöst! danke
Ajinkya Kulkarni
Wahrscheinlich haben Sie den zulässigen Pfaden für tokenauth node / add / myform hinzugefügt, nicht jedoch node / *. Um dies zu vermeiden, hätte ich wahrscheinlich das $ -Formular ['# redirect'] in eine Seite geändert, auf die sie zugreifen könnten. Klingt so, als hätten Sie es im Griff.
Grayside
Eigentlich habe ich den Knoten / * hinzugefügt, aber dieses Modul erlaubt den Zugriff nur, wenn sich die URL im Formular node / 40 /? token = rbkrIlw9GX befindet und nach dem Speichern des Drupal-Formulars zum Knoten / 40 / und nicht zum Knoten / 40 /? umgeleitet wird = rbkrIlw9GX. Ich muss einen Weg finden, den Wert von $ form ['# redirect'] mit Javascript zu ändern.
Ajinkya Kulkarni
Knoten / * sollte gut funktionieren. drupal.org/node/990468 versucht, das gefundene Problem zu beheben. Tokenauth ist eher für einmalige Seitenladungen gedacht, nicht alle Drupal-Interaktionen werden ordnungsgemäß berücksichtigt.
Grayside
6

Derzeit gibt es ein Sandbox-Modul namens URL Login, das darauf wartet, genehmigt zu werden, um ein vollständiges Projekt zu werden. Siehe die Projektseite und das vollständige Problem mit der Projektanwendung .

Dieses Modul bietet eine sichere Möglichkeit, sich über eine URL anzumelden. Wenn dieses Modul für Sie nützlich ist, empfehle ich Ihnen, dies in der verknüpften Ausgabe zu erwähnen, damit es bald zu einem vollständigen Projekt werden kann.

Berdir
quelle
Dies war eine sehr gute Option. Auf meiner Entwicklungsmaschine hat es gut funktioniert, aber nicht in der Produktion. Ich denke, unsere Produktionsstätte verwendet eine etwas ältere PHP-Version. Ich erhielt folgende Fehlerwarnung: base64_decode () erwartet genau 1 Parameter, 2 in /portal/modules/urllogin/urllogin_security.inc in Zeile 131.
Ajinkya Kulkarni
Ja, das wurde mit PHP 5.2.0 hinzugefügt. Ich schlage vor, dass Sie dies in der Projektanwendungsausgabe melden, damit der Autor entweder die Abhängigkeit von PHP 5.2 hinzufügen oder eine Problemumgehung implementieren kann.
Berdir
2

Suchen Sie nach einmaligen Anmeldungen, mit denen sich neue Benutzer anmelden und ihr eigenes Passwort festlegen können? Versuchen Sie es mit http://drupal.org/project/one_time_login

Einige Details von der Projektseite des Moduls:

Dieses Modul fügt dem Formular unter Administration >> Personen zwei Vorgänge hinzu: "Link zum einmaligen Anmelden an die ausgewählten Benutzer senden" und "CSV von einmaligen Anmelde-URLs für die ausgewählten Benutzer herunterladen".

Dieses Modul bietet außerdem einen Views-Feldhandler für die einmalige Anmelde-URL und eine Aktion "Einmaligen Login-Link an Benutzer senden" zur Verwendung mit Views-Massenvorgängen.

Capi Etheriel
quelle
Nein. Ich habe nach einer Möglichkeit gesucht, bestimmte Benutzer zu einer geschützten Seite zu führen, ohne Benutzername und Passwort eingeben zu müssen.
Ajinkya Kulkarni
0

Ich glaube, Sie suchen nach dem Secure Site- Modul.

Abhängig von Ihren Anforderungen funktioniert das Webserver-Authentifizierungsmodul möglicherweise auch gut.

Antgiant
quelle
Leider konnte ich nicht herausfinden, wie ich mich mit einer URL mit den Modulen "Secure Site" oder "Webserver Authentication" anmelden kann. 'tokenauto' und 'url_login' haben funktioniert. Vielen Dank für den Vorschlag.
Ajinkya Kulkarni