Könnte jemand kurz über user_token Funktionalität im Auth-Modul informieren? Was ist eine Verwendung und wie dies in Auth-Modul integriert?Kohana V3 Auth-Modul user_token Funktionalität
Antwort
Es wird verwendet, wenn ein Benutzer das Feld "Remember me" auf Ihrer Website aktiviert. Ein Token wird für den Benutzer generiert und in der Tabelle user_tokens gespeichert.
Wenn man sich die Kohana_Auth_ORM Klasse aussehen in der _login Funktion können Sie sehen, wie es erstellt wird:
if ($remember === TRUE)
{
// Create a new autologin token
$token = ORM::factory('user_token');
// Set token data
$token->user_id = $user->id;
$token->expires = time() + $this->config['lifetime'];
$token->save();
// Set the autologin cookie
cookie::set('authautologin', $token->token, $this->config['lifetime']);
}
Es wird von der AUTO_LOGIN() verwendet wird Funktion auch in der Kohana_Auth_ORM Klasse:
/**
* Logs a user in, based on the authautologin cookie.
*
* @return boolean
*/
public function auto_login()
{
if ($token = cookie::get('authautologin'))
{
// Load the token and user
$token = ORM::factory('user_token', array('token' => $token));
if ($token->loaded() AND $token->user->loaded())
{
if ($token->user_agent === sha1(Request::$user_agent))
{
// Save the token to create a new unique token
$token->save();
// Set the new token
cookie::set('authautologin', $token->token, $token->expires - time());
// Complete the login with the found data
$this->complete_login($token->user);
// Automatic login was successful
return TRUE;
}
// Token is invalid
$token->delete();
}
}
return FALSE;
}
Es liegt an Ihnen, diese Funktion in Ihrem Autorisierungscontroller ordnungsgemäß zu verwenden. Ich bin relativ neu in Kohana, aber ich führe eine einfache Überprüfung einen Benutzer umgeleitet werden, wenn sie auf das Anmeldeformular gehen und in bereits angemeldet sind oder automatisch einloggen:
if (Auth::instance()->logged_in() || Auth::instance()->auto_login())
Request::instance()->redirect('auth/');
Der Code für das Auth Modul isn‘ t zu schwer zu verstehen. Wenn Sie neu in Kohana sind, ist es ein guter Ausgangspunkt, um zu sehen, wie das ORM-Modul funktioniert.
Hallo Brian Riehman, Danke für die Wiederholung. Und ja, ich bin Neuling für das Kohana-Framework. – Asif