Frage

Ich habe viel zu tun Wordpress zu einem von CakePHP application.Last Montag habe ich die Integration knackte den Weg it.Now ein weiteres Problem, das ich konfrontiert zu integrieren war, dass Client Auto-Login den Benutzer gesucht, die Login sind in CakePHP Seite, ich tat, auch und es funktioniert gut in local.I ist die Session Variable von CakePHP, die in core.php von CakePHP eingestellt ist, in dem Wordpress also.The Code-snippet der Auto Login-Plugin ist: -

session_name("Cake_PHP_Session_Vars");
session_start();
function auto_login(){if (!is_user_logged_in()) {
    //determine WordPress user account to impersonate
    $user_login = 'guest';

   //get user's ID
    $sessVars = $_SESSION['User'];
    $user_id = $sessVars['id'];

    //login
    wp_set_current_user($user_id, $user_login);
    wp_set_auth_cookie($user_id);
    do_action('wp_login', $user_login);
}}add_action('init', 'auto_login');

Das alles funktioniert gut auf dem lokalen System, aber wenn ich es auf dem Server bin setzen, es funktioniert nicht out.Please mich vorschlagen, was das Problem hier sein könnte. Vielen Dank im Voraus

War es hilfreich?

Lösung

Nun, ich behoben das Problem, das ich gegenüberstand. Ich war Einstellung nur die aktuellen Benutzers von Kuchen Side WP oben nur durch die Benutzer-ID-Set in der Session variable.But es eine Chance, dass inkrementierten ids in Cake User Table anders sein könnte, und wenn wir ein setzen, dass es in Wp_users Tisch anders sein könnte als that.so in dem neuen Plugin I, in denen nur ein Teil der Zeile hinzugefügt, um den Benutzernamen des angemeldeten Benutzers abrufen und dann die ID des Benutzers holen, coz wir wissen, dass es 0 Möglichkeit zwei (oder mehr) Nutzer mit gleichen USERNAME.That Grund haben wir dann die ID der Benutzername holen wir in der Session haben und verwenden Sie dann

wp_set_current_user($user_id, $user_name);

Sie können alle sehen, dass ich $ user_login ersetzt habe mit $ user_name (wird aus dem Session-Variable) (die standardmäßig auf Gast war) .Jetzt es funktioniert fine.The Hauptproblem war, dass in meinem lokalen System Cake Tables und Wordpress Tische waren sehr schön Synchronisierte, aber in Server gibt es ein Problem mit der Synchronisation.

Andere Tipps

Ihr Blog unter einer anderen Sub-Domain wie blog.domain.com. in diesem Fall würde eine neue Sitzung für Blog-Besucher erstellt werden, wenn Sie eine Arbeit um zu tun.

ist Ihre Domain-Wechsel von domain.com zu www.domain.com, wenn Sie von Haupt-Website Blog gehen? wenn das der Fall ist, wird eine neue Sitzung auch erstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top