Auth modülünde kullanıcı_token işlevselliği hakkında herhangi bir kişi var mı? Bir kullanım nedir ve bunun Auth modülünde nasıl bulunur?Kohana V3 Auth modülü user_token işlevi
5
A
cevap
12
Bir kullanıcı sitenizdeki 'Beni hatırla' kutusunu işaretlediğinde kullanılır. Kullanıcı için bir belirteç oluşturulur ve user_tokens tablosunda saklanır. Eğer _login fonksiyonunda Kohana_Auth_ORM sınıfında bakarsak
, bunun nasıl oluştuğunu görebilirsiniz: Kohana_Auth_ORM sınıfında da
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']);
}
O (auto_login tarafından kullanılır) fonksiyonu:
/**
* 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;
}
Yetkilendirme denetleyicinizde bu özelliği doğru kullanmak size kalmış. Ben Kohana nispeten yeni, ama onlar giriş formuna gidip Zaten giriş veya otomatik olarak giriş yapabilirsiniz eğer kullanıcıyı yönlendirmek için basit bir kontrolü gerçekleştirmek:
if (Auth::instance()->logged_in() || Auth::instance()->auto_login())
Request::instance()->redirect('auth/');
kod Auth modülü değilmi için Anlamak çok zor. Kohana için yeniyseniz, ORM modülünün nasıl çalıştığını görmek için iyi bir başlangıç noktasıdır.
İlgili konular
- 1. Kohana v3 Sorgu Oluşturucusu
- 2. sails-auth modülü "Tanımlanamaz 'loadStrategies' özelliği okunamıyor"
- 3. JS modülü desen geçersiz kılma işlevi
- 4. Kohana örnek CRUD uygulaması
- 5. Kohana 3.2 'avans' ORM
- 6. Kohana 3 ORM fıkra
- 7. Kohana ORM sipariş sonuçları
- 8. Passport auth işlevi neden bir rota içinde çağrıldığında çalışmıyor?
- 9. harf duyarlılığı + nginx + Kohana + php
- 10. Kohana 3.0.x ORM: Pivot tablolardaki ek sütunları oku
- 11. Python istekleri modülü
- 12. http temel auth
- 13. WAMP üzerinde LDAP Auth
- 14. Android - Akıllı telefon ve bluetooth modülü arasında ses iletimi işlevi
- 15. Modülü?
- 16. Kohana ben <code>kohana 3.2</code> kullanıyorum istemci ip
- 17. etiketi V3
- 18. Kohana 3 denetleyicisine posta verilerini nasıl alabilirim?
- 19. Kohana çerçevesi - Ajax uygulaması en iyi uygulamaları
- 20. Kohana şablonuna bir css dosyası ekleyin
- 21. modülü henüz içerik için yüklenmemiş
- 22. OUUTH2 belirtecini Python Social Auth
- 23. SLIM Çerçeve Rota Kimlik v2 v3
- 24. Owin auth - auth jetonunu isteyen istemcinin IP adresi nasıl alınır
- 25. Omniauth yolunu/auth/yolundan alma: sağlayıcı/myapp/auth /: sağlayıcı
- 26. firebase özel auth iş akışı özel auth yapmak
- 27. django auth ldap
- 28. Docker giriş auth jetonu
- 29. AUTH mevcut değil 1.9.2
- 30. SMTP komutları "AUTH NTLM"
Merhaba Brian Riehman, repply için teşekkürler. Ve evet ben Kohana çerçevesi için yeni biriyim. – Asif