WordPress-Authentifizierungsfilter

Lesezeit: 1 Minute

WordPress Authentifizierungsfilter
st4ck0v3rfl0w

Ich versuche derzeit, die wp_authenticate-Funktion von WordPress zu überschreiben (ohne die Kerndateien zu ändern, hauptsächlich pluggable.php), bin mir jedoch nicht sicher, ob ich es richtig mache. Es gibt zwei großartige Referenzen (siehe unten), aber sie geben nicht explizit an, was zu tun ist, um die Anmeldung zu verhindern, sofern bestimmte Kriterien erfüllt sind.

Kurz gesagt, ich versuche, registrierte Benutzer zu verhindern, die ihr Konto nicht aktiviert haben. Ich habe bereits das Erstellen eines Benutzers mit einer eindeutigen md5-ID in der usermeta-Tabelle (angehängt an ihre Benutzer-ID) implementiert. Ich versuche im Grunde, bei der Anmeldung nach diesem Wert “activation_key” in der usermeta-Tabelle zu suchen. Wenn ein Wert vorhanden ist, möchte ich verhindern, dass die Anmeldung erfolgt.

Der Authentifizierungsfilter scheint genau das zu sein, was ich brauche, aber nachdem ich ihn geändert und in meine Datei functions.php eingefügt habe, scheint er nicht zu funktionieren! Die Anmeldung erfolgt wie gewohnt.

Verweise:

Wie kann ich mich in das WordPress-Anmeldesystem einklinken, um einige Benutzer programmgesteuert zu stoppen?

http://willnorris.com/2009/03/authentication-in-wordpress-28

  • Ok, ich glaube, ich bin näher dran, aber ich kann die Standard-Authentifizierungsfilter nicht entfernen. Irgendwelche Gedanken?

    – st4ck0v3rfl0w

    20. Januar 2010 um 21:07 Uhr

Ich habe tatsächlich einen Workaround gefunden.

Mit einem benutzerdefinierten Formular können Sie sich mit der Funktion wp_signon bei WordPress anmelden.

var $creds = array();
$creds['user_login'] = 'example';
$creds['user_password'] = 'plaintextpw';
$creds['remember'] = true;
//check if user has an activation key in the usermeta table
$user = get_userdatabylogin($creds['user_login']); 
if(get_usermeta($user->ID,'activation_key')) { 
} else {
$procLogin = wp_signon( $creds, false );
if ( is_wp_error($procLogin) ) {
echo $user->get_error_message();
} 
echo 'success!';
}

hoffe, das hilft jemandem da draußen

1003070cookie-checkWordPress-Authentifizierungsfilter

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy