it-swarm.com.de

`drush uli` generiert einen korrekten Link, führt jedoch zu 'Access Denied'

Ich habe einen Drush - Alias ​​für meine Website eingerichtet (gehostet auf einem gemeinsam genutzten Hosting). Der Alias ​​funktioniert ordnungsgemäß, da Befehle wie drush status, drush cc all usw. arbeiten. Das Problem kommt mit drush uli. Es generiert den einmaligen Login-Link, die Domain ist korrekt, alles sieht gut aus, aber wenn es in einen Browser eingegeben wird, ergibt sich Standard Drupal

Zugriff abgelehnt

seite.

Teil des Einrichtens des Alias ​​und einige interessante Probleme rund um path-alias- es, Beziehungen zu Datenbankeinstellungen, Verwendung und Relevanz der Aliase wird ursprünglich in Drush Issues-Seite auf GitHub . besprochen.

Technische Information:

  • Dies ist eine saubere Drupal 7-Installation ohne Contrib-Module.
  • Ich kann mich mit einem Passwort anmelden (auch mit einem Passwort, das über drush upwd mit demselben Alias).
  • Ich habe alle möglichen Quellen (wie das Abschneiden der Tabelle sessions usw.) überprüft, die in ähnliches, aber dennoch anderes Problem auf StackExchange besprochen wurden.
  • Ich habe verschiedene Browser ausprobiert und Browser-Caches und Cookies gelöscht, wie in verschiedenen ähnlichen Diskussionen auf Drupal.org vorgeschlagen, alles ohne Glück.

Drush-Alias:

$aliases['myalias'] = array(
  'uri' => 'mysite.com',
  'root' => '/home/mysite.com/web',
  'path-aliases' => array(
    '%drush' => '/home/.composer/vendor/drush/drush',
   ),
  '%files' => '/home/mysite.com/web/sites/mysite.com/files',
); 

Der Alias ​​funktioniert ordnungsgemäß für andere Befehle wie das Löschen von Caches und drush status bestätigt, dass Drupal korrekt gebootet ist.

8
David Lukac

Ich bin mir nicht ganz sicher, warum der drush uli Zu Zugriff verweigert kommt. Ich vermute, es liegt an der Validierung/Generierung der einmaligen Links und/oder dem falschen Zeitstempel in der Tabelle Benutzer.

Die Lösung bestand darin, das Kennwort in der Datenbank zu löschen. (Ändern über drush upwd Oder direkt in Drupal hat nicht funktioniert.) Nach dem Löschen des Benutzerpassworts konnte ich drush uli Ausführen.

2
David Lukac

Dies kann passieren, wenn der Benutzer blockiert ist. Wenn Sie den Status in der Benutzertabelle auf 1 setzen, wird er möglicherweise behoben.

9
xtfer

Ich bin gerade in einem lokalen Entwickler-Setup darauf gestoßen. Es stellte sich heraus, dass dies die Einstellung $cookie_domain War, die in settings.php Festgeschrieben wurde. Wenn dies auf die Produktions-URL eingestellt ist, werden Sie nicht Erhalten Sie ein gültiges Cookie, und daher wird der Zugriff niemals gewährt. Das Überschreiben von $cookie_domain An die lokale Entwicklungsumgebung in local-settings.php Hat den Trick gemacht!

2
Tyler Fahey

Überprüfen Sie auch die Fluttabelle . Möglicherweise gibt es Datensätze, bei denen es sich um fehlgeschlagene Versuche nach IP-Adresse handelt, die den Zugriff blockieren.

2
Scott Shipman