2016-03-31 19 views

cevap

1

Bunu yapmanın hiçbir yapılandırılabilir yolu var gibi görünüyor (Bu sütunda & vb eksikliği nedeniyle artık yanılma üretir). (Emin değilim, yalnızca kodlarla göz dökme ediyorum.)

Eğer & kılma Muhafız çıkış yöntemi uzatabilir ve refreshRememberToken yöntemini çağırmayın (veya & geçersiz kılma refreshRememberToken yöntemi genişletmek ve sadece gelen return true Ancak refreshRememberToken)

Korumayı uzatmak istemiyorsanız, Illuminate\Contracts\Auth\UserProvider'u uygulayacak özelleştirilmiş bir kullanıcı sağlayıcısı da oluşturabilirsiniz. Eğer uygulamalıdır arayüzde

Illuminate\Contracts\Auth\UserProvider sen atlayacak iki yöntem imzaları vardır: atlayarak sonra

/** 
* Retrieve a user by their unique identifier and "remember me" token. 
* 
* @param mixed $identifier 
* @param string $token 
* @return \Illuminate\Contracts\Auth\Authenticatable|null 
*/ 
public function retrieveByToken($identifier, $token); 

/** 
* Update the "remember me" token for the given user in storage. 
* 
* @param \Illuminate\Contracts\Auth\Authenticatable $user 
* @param string $token 
* @return void 
*/ 
public function updateRememberToken(Authenticatable $user, $token); 

; Eğer yetkilendirme sürücüleri veya bekçi uzanan hakkında fazla bilgiye ihtiyacınız varsa

'providers' => [ 
    'users' => [ 
     'driver' => 'customimplementation', 
    ], 
], 

, kullandığım Şimdilik aşağıdaki https://laravel.com/docs/5.2/authentication#adding-custom-guards https://laravel.com/docs/5.2/authentication#adding-custom-user-providers

1

izleyin: Eğer kimlik doğrulama Auth::provider('customimplementation') uzatmak ve daha sonra auth yapılandırmanın driver anahtarını değiştirmek zorunda kirli hüner: Ben bu yöntemi eklendi

User modelde

function setRememberTokenAttribute($value) 
{ 
    return; 
} 

Bu bana daha çok iş için bir çözüm bulmak için bana bir çözüm değil

+0

Bence bu senin suçun değil. Bu 'Arabirim ayrıştırma ilkesi' hakkında bir tartışmadır. Her zaman bu yöntem imzalarının yanlış olduğunu hissediyorum (LTS sürümünün bir kullanıcısı olarak). UserProvider'ın tüm uygulamaları gerçekten bu yöntemlere sahip olmalı mı? Hem Guard hem de UserProvider'ın özel uygulamalarını oluşturursam, bu yöntemlerin artık gerekli olmayacağı anlaşılıyor. Eğer öyleyse, neden onları uygulamalıyım? –